从零开始在虚拟机中搭建一个4个节点的CentOS集群(三)-----将一台虚拟机复制成4台虚拟机

在4个虚拟机中安装CentOS集群

这里选择使用VirtualBox的复制功能来完成其他 3 台机器的安装。(复制需要先关闭被复制的机器)

机器分布

hostName ip
centos01 192.168.0.111
centos02 192.168.0.112
centos03 192.168.0.113
centos04 192.168.0.114
1.复制

2.修改每台机器的静态ip

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

3.修改每台机器的hostName
# 手动修改该文件中的主机名
vi /etc/sysconfig/network
HOSTNAME=XXXX

# 修改 hosts 中的 hostname
# 对于 hosts 中的修改,在本次的笔记实践过程中没有发现生成主机名的域名映射,所以可以忽略
vi /etc/hosts
127.0.0.1 localhost  # 这个是默认的
127.0.0.1 对应主机名 # 我们主要是修改这个和主机名一致即可

修改完所有的机器后,建议都重启,使用新 Xshell 连接复制修改下面的域名地址映射

4.每台机器的 hosts 配置域名地址映射;
vi /etc/hosts
#每台机器都这样写
192.168.0.111 centos01
192.168.0.112 centos02
192.168.0.113 centos03
192.168.0.114 centos04

配置完成之后可以使用 ping 检查是否已经配置好了域名映射,比如在 04 上运行 ping centos01

对于复制的机器网络服务启动不起来,也就是使用 service network restart 命令失败出现该错误 device eth0 does not seem to be present,delaying initializationvim

解决方案:

如图,修改 vi /etc/udev/rules.d/70-persistent-net.rules 中的内容与桥接网卡的 mac 地址一致即可

配置4台CentOS为ssh免密码互相通信

# 生成秘钥,命令中一直回车即可
ssh-keygen -t rsa
# 进入秘钥文件目录
cd /root/.ssh/
# 让自己本机使用 ssh 免密,把 pub 中的内容复制到 authorized_keys 文件中
cp id_rsa.pub authorized_keys
# 可使用 ssh 命令连接本机 hostname,提示输入 yes 即可登录
ssh centos01
# 退出 ssh 登录的终端
exit

方法一:把自己的公钥 copy 到要指定机器的 authorized_keys 文件中, 也就是说,你想要免密登录那一台机器就把自己的公钥写入 authorized_keys 文件夹中

# 命令语法如下,在执行该命令的时候需要输入指定机器的密码
ssh-copy-id -i hostname

# 比如,在centos01机器上,输入
ssh-copy-id -i centos02
ssh-copy-id -i centos03
ssh-copy-id -i centos04
#在centos02机器上,输入
ssh-copy-id -i centos01
ssh-copy-id -i centos03
ssh-copy-id -i centos04
#centos03和04类似

方法二:一个小技巧,其他三台机器都使用 ssh-copy-id -i eshop-cache01 把公钥集中到一台机器上,这样 authorized_keys 中的文件内容就包含了 4 台机器的公钥,这个时候只需要把该文件内容 copy 到其他 3 台机器覆盖即可,可以使用如下命令来复制

centos01

cd /root/.ssh
scp authorized_keys centos02:/root/.ssh
scp authorized_keys centos03:/root/.ssh
scp authorized_keys centos04:/root/.ssh

参考


在-4-个虚拟机中安装-centos-集群

posted @ 2020-02-28 22:17  CodeNow99  阅读(709)  评论(0编辑  收藏  举报