在搭建hadoop或者spark集群之前,可能需要对集群中节点的别名重新命名,方便集群的管理。例如hosts文件中,将节点的IP对应成master和slave1等。如下

# hosts
127.0.0.1  localhost  localhost.localdomain
10.135.72.89    master
10.135.82.197   slave1
10.104.73.51    slave2

类似于上述对hosts文件的修改。首先我们在master节点上创建一个新的hosts文件,用来记录更新的hosts文件,方便之后自动化替换各节点的系统hosts文件。

步骤介绍:
1. master节点上,根据集群IP信息,创建hosts文件。
2. 将该hosts文件分发到从节点。
3. 在各个从节点上,替换系统hosts文件为更新后的hosts文件

host文件
以下是笔者根据自己的集群创建的hosts文件

# 笔者的hosts
127.0.0.1  localhost  localhost.localdomain
10.135.72.89    VM-72-89-ubuntu
10.135.82.197   VM-82-197-ubuntu
10.104.73.51    VM-73-51-ubuntu
10.104.100.159  VM-100-159-ubuntu
10.104.67.69    VM-67-69-ubuntu
10.135.79.153   VM-79-153-ubuntu
10.104.45.59    VM-45-59-ubuntu
10.135.33.4 VM-33-4-ubuntu
10.135.145.94   VM-145-94-ubuntu
10.104.173.150  VM-173-150-ubuntu
10.135.69.201   VM-69-201-ubuntu
10.135.112.157  VM-112-157-ubuntu
10.135.165.54   VM-165-54-ubuntu
10.104.254.242  VM-254-242-ubuntu
10.135.117.148  VM-117-148-ubuntu

expect_host.sh脚本

主要功能:通过命令登录到从节点机器,并切换至从节点的root用户,在使用root权限替换hosts文件。该脚本将作为功能模块在root_hosts.sh文件中执行。

#!/usr/bin/expect
# expect expect_hosts.sh 10.135.82.197 ubuntu ubuntu123456 #执行命令与参数样例set timeout 1
#set host "10.186.2.84"
#set username "ubuntu"
#set password "ubuntu123456"
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]spawn ssh $username@$host
expect {"Are you sure you want to continue connecting (yes/no)?" {send "yes\r"; exp_continue}"*password*" {send "$password\r"}
}expect "*$"
send "sudo passwd root\r"
expect "*password*" {send "123456\r"}
expect "*password*" {send "123456\r"}expect "*$"
send "su - root\r"
expect "Password:" {send "123456\r"}expect "*#"
send "cat /home/ubuntu/myscript/hosts > /etc/hosts\r"expect interactexpect EOF

root_hosts.sh脚本

主要功能:在master上直接运行该脚本,并能完成登录到各个从节点,并替换从节点系统的hosts文件。

#!/bin/bash

nodes=($(awk "{print \$1}" slavenodes))
for node in ${nodes[*]}
dossh ubuntu@$node "mkdir -p /home/ubuntu/myscript/"rsync -r --progress ~/myscript/hosts ubuntu@$node:/home/ubuntu/myscript/hostsexpect expect_hosts.sh $node ubuntu ubuntu123456
done

自动化脚本腾讯云配置集群(三)批量修改host相关推荐

  1. 腾讯云Elasticsearch集群多可用区容灾实现原理及最佳实践

    导语 | 为了进一步满足腾讯云 Elasticsearch 客户对服务稳定性.集群高可用性等容灾能力的要求.腾讯云 ES 产品提供了跨可用区部署的解决方案,本文将为大家介绍实现原理与实践案例.文章作者 ...

  2. 阿里云注册集群+Prometheus 解决多云容器集群运维痛点

    作者:左知 容器集群可观测现状 随着 Kubernetes(K8s)容器编排工具已经成为事实上行业通用技术底座,容器集群监控经历多种方案实践后,Prometheus 最终成为容器集群监控的事实标准. ...

  3. Openstack云平台脚本部署之Ceph存储集群配置(十四)

    目录 一.简介 二.部署脚本 三.参考文档 四.源码 五.系列文章 一.简介 Openstack的后端存储对接Ceph分布式统一存储,将Glance镜像.Nova虚拟机及快照.Cinder-Volum ...

  4. 灵活、高效的云原生集群管理经验:用 K8s 管理 K8s

    作者 | 淮右.临石 **导读:**单 K8s 集群为用户提供了 Namespace 级别的隔离能力,理论上支持不超过 5K Node.15W Pod.多 K8s 集群则解决了单集群的资源隔离.故障隔 ...

  5. 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信

    目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...

  6. Nacos 快速开始、版本选择、预备环境准备、下载源码或者安装包、从 Github 上下载源码方式、下载编译后压缩包方式、配置nacos、配置集群、启动服务器、服务注册发现和配置管理、关闭服务器

    1.Nacos 快速开始 1.1.版本选择 1.2.预备环境准备 1.3.下载源码或者安装包 1.3.1.从 Github 上下载源码方式 1.3.2.下载编译后压缩包方式 1.3.3.配置nacos ...

  7. 京东云Kubernetes集群+Traefik实战

    Traefik支持丰富的annotations配置,可配置众多出色的特性,例如:自动熔断.负载均衡策略.黑名单.白名单.所以Traefik对于微服务来说简直就是一神器. 利用Traefik,并结合京东 ...

  8. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  9. 基于京东云Kubernetes集群的 SpringBoot+MySQL 应用示例

    Kubernetes 是目前最主流的开源容器编排技术,用于自动部署,扩展和管理容器化应用程序,其提供应用部署.维护. 扩展机制等一系列完整功能,极大提高了容器集群管理的便捷性. 京东早在2016年年底 ...

最新文章

  1. windows经典地雷小游戏(C语言实现)
  2. Java多线程之线程池7大参数、底层工作原理、拒绝策略详解
  3. 关于交换机和路由器的区别介绍
  4. Outlook式样界面菜单和页面控制
  5. 前端安全 -- XSS攻击
  6. MYSQL Training: MySQL I
  7. 【SVM回归预测】基于matlab布谷鸟算法优化SVM回归预测【含Matlab源码 1422期】
  8. 微信开放平台、公众号和小程序的总结
  9. ERROR 1046 (3D000): No database selected
  10. java毕业设计青岛滨海药店管理系统的设计与实现源码+lw文档+mybatis+系统+mysql数据库+调试
  11. 关于ucore实验一的资料查找
  12. 使用Python对淘宝用户行为进行数据分析
  13. 初中计算机课师徒结对活动记录,师徒结对活动记录表10张(师傅尚积东徒弟丁明路)(备课6节听课4节).doc...
  14. 读 Lars V. Ahlfors 之《复分析》
  15. python中repeat_Python中的Repeat类方法
  16. 安装完IIS localhost打不开
  17. 诛仙手游噬血珠碎片隐藏任务大全
  18. unity——Survival Shooter:环境角色
  19. 数据集大全:25个深度学习的开放数据集
  20. 对于递归算法和二分查找的理解

热门文章

  1. LVC 播放器buffer自定义读写的方法
  2. 桌面cpu与服务器cpu天梯,台式CPU性能怎么看?桌面CPU天梯图2018年1月更新版
  3. 视差映射:更逼真的纹理细节表现(上):为什么要使用视差映射
  4. ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
  5. 用 .pth 文件附加 Python 模块搜索路径
  6. YOLOv8 从环境搭建到推理训练
  7. webview在android8.0,解决Android8.0系统应用打开webView报错
  8. PDPS汉化包安装与语言界面切换操作
  9. go 怎么等待所有的协程完成_优雅地等待子协程执行完毕
  10. HDU 6078 Wavel Sequence(dp)