CentOS7.9集群部署(配置hosts、集群免密、时间同步)

在上一篇我们介绍了如何在windows下安装虚拟机,在虚拟机上安装CentOS7.9,并且在系统安装完成后配置了固定ip和系统时间。
在食用本篇之前,如果上述操作没有做过,可以先移步 windows安装VMware虚拟机(附带CentOS7部署)
但是在分布式、大数据体系下,为了提高程序的高可用,单机是远远不够的,这里就需要搭建多台机器组成集群,那么本篇就给大家打来CentOS7.9集群部署。

集群规划

ip地址 节点名称
192.168.10.128 master
192.168.10.129 slave1
192.168.10.130 slave2

上一篇我们搭建了一台机器,已经配置了固定ip为192.168.10.128,接下来需要搭建剩下两台。
在操作之前我们先把上一台虚拟机改名为master
选中 CentOS 7 64 位 讲名字改为master
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第1张图片
右键master,选择管理,然后克隆,在克隆之前需要把虚拟机关机
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第2张图片
关机虚拟机
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第3张图片
右键master,选择管理,然后克隆,进入克隆向导,点击下一步CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第4张图片
继续下一页
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第5张图片
选择完整克隆
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第6张图片
配置虚拟机名称和存放位置,然后点击完成
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第7张图片
点击关闭
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第8张图片
slave1创建出来了
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第9张图片
但是还需要配置ip,启动虚拟机,然后进入虚拟机,打开终端,通过su root命令切换至root账户下,修改网络配置

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

将ip地址改为192.168.10.129
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第10张图片
重启网络 service network restart
使用 ifconfig 查看ip
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第11张图片
测试网络是否通互联网 ping www.baidu.com,如下图所示,代表没有问题

在这里插入图片描述
用上述同样的方式将slave2创建出来,这时候就有三台机器了
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第12张图片

使用外部工具连接虚拟机(FinalShell)

FinalShell下载地址
外部工具太多了,还有xshell等等,看个人喜欢,这里我就使用FinalShell了

这里我们可以按照上图操作,将三台机器都创建出来,然后通过master进行连接。

配置hosts

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

用户一定要在root账号下

vi /etc/hosts

添加

192.168.10.128  master
192.168.10.129  slave1
192.168.10.130  slave2


保存退出 wq!

使用 source /etc/hosts 使配置文件即刻生效

 source /etc/hosts

通过远程拷贝,将刚才配置好的hosts文件传给slave1和slave2,选择yes输入密码即可

 scp -r /etc/hosts root@slave1:/etc/
 scp -r /etc/hosts root@slave2:/etc/

CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第13张图片

集群免密

使用ssh-keygen生成秘钥,一直回车就可以了
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第14张图片
将生成的公钥拷贝到自己这台机器上,一直回车,输入密码123456就可以了

ssh-copy-id master

CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第15张图片
其实就是在 /root/.ssh/目录下生成了公钥和私钥,然后公钥给自己生成了authorized_keys,我们只需要将这个目录下文件传到slave1和slave2上就可以相互ssh免密登录了
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第16张图片

scp -r /root/.ssh/ root@slave1:/root/.ssh/
scp -r /root/.ssh/ root@slave2:/root/.ssh/

CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第17张图片
使用ssh命令可以免密登录了
CentOS7.9集群部署(配置hosts、集群免密、时间同步)_第18张图片

集群时间同步

时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。
所有节点关闭ntp服务和自启动
直接复制以下命令执行

ssh master
systemctl stop ntpd
systemctl disable ntpd
ssh slave1
systemctl stop ntpd
systemctl disable ntpd
ssh slave2
systemctl stop ntpd
systemctl disable ntpd
ssh master

修改ntp配置文件(以下只在master上执行)

vi /etc/ntp.conf

通过set nu 查看行号

修改1(授权192.168.10.0-192.168.10.255网段上的所有机器可以从这台机器上查询和同步时间)
修改2(集群在局域网中,不使用其他互联网上的时间)
添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)

修改/etc/sysconfig/ntpd 文件

vi /etc/sysconfig/ntpd

增加内容如下(让硬件时间与系统时间一起同步)

SYNC_HWCLOCK=yes

重新启动ntpd服务

systemctl start ntpd

设置ntpd服务开机启动

systemctl enable ntpd

接下来是在slave1和slave2上都要进行的操作

ssh slave1
crontab -e

编写定时任务

*/10 * * * * /usr/sbin/ntpdate master

同样的操作在slave2上也执行一次

你可能感兴趣的:(Linux,服务器,运维,linux)