这里说一下为什么要配置时间同步这个问题,为了避免各虚拟机的时间出现不一致的情况而引发集群故障。这里还要了解一下什么是系统时间,什么是硬件时间。
这里配置时间同步我选择的是Chrony。Chrony是网络时间协议(NTP)的通用实现,它能保持系统时间与时间服务器(NTP)同步,为集群中的其他计算机提供时间服务,确保集群时间一致。
一、配置Chrony
步骤如下:
安装Chrony
分别在三台虚拟机Spark01、Spark02和Spark03中在线安装时间同步工具Chrony。命令如下:
yum install chrony -y
启动Chrony服务
分别在三台虚拟机Spark01、Spark02和Spark03中启动时间同步工具Chrony服务。命令如下:
systemctl start chronyd
注意:这里有些同学可能会遇到启动Chrony服务报错。这是由于由于在线安装Chrony时会直接安装最新版的Chrony ,可能会导致Chrony 版本与当前Linux内核版本不一致,导致Chrony服务启动报错,可通过升级Linux内核版本解决此类问题。命令如下:
yum -y update
如下图所示:
3.查看Chrony服务启动状态并设置开机启动
分别在三台虚拟机Spark01、Spark02和Spark03中查看Chrony服务启动状态并设置Chrony服务开机启动。命令如下:
#查看Chrony服务启动状态 systemctl status chronyd #设置Chrony服务开机启动 systemctl enable chronyd
结果如下图所示:
4.关闭防火墙
为了避免集群中各虚拟机通过NTP服务进行时间同步的操作被禁止,需要关闭三台虚拟机Spark01、Spark02和Spark03的防火墙服务。命令如下:
查看防火墙服务启动状态 systemctl status firewalld #关闭防火墙服务 systemctl stop firewalld #禁止防火墙开机启动 systemctl disable firewalld
结果如下图所示:
5.查看Chrony配置信息
执行“cat /etc/chrony.conf
”命令,查看etc目录下Chrony 的配置文件。如下图所示:
- 配置Chrony配置信息
在虚拟机Spark01中,执行“vi /etc/chrony.conf
”命令,编辑集群的时间服务器配置文件chrony.conf 。如下图所示:
上面配置编辑集群的时间服务器配置文件chrony.conf主要做以下三个步骤:
1)取消了网络服务器作为时间同步源的配置,添加虚拟机Spark01作为时间服务器。
2)设置允许与时间服务器同步时间的客户端网段。
3)设置时间服务器允许使用本地时间作为标准时间进行同步。
然后分别在虚拟机Spark02和Spark03中,执行“vi /etc/chrony.conf”命令,编辑集群的时间客户端配置文件chrony.conf 。如下图所示:
在这里插入图片描述
7.重启Chrony服务
分别在三台虚拟机Spark01、Spark02和Spark03中,执行“systemctl restart chronyd”命令,重启Chrony服务使配置内容生效。待Chrony服务启动完成后执行“chronyc sources -v”命令,查看时间同步源状态,在spark02和spark03中能看到是以spark01作为时间源的。如下图所示:
在这里插入图片描述
二、手动更新服务器时间的介绍
最后提供一种手动更新服务器时间的一种办法,可以使用如下命令:
yum install ntpdate ntpdate -u ntp.api.bz