在生产环境中,如果服务器集群不能连接外网进行时钟校正,可能会导致日志聚集、集群任务调度等出现异常,此时就需要进行集群的时间同步,但如果集群能连接外网则不需要配置。
首先需要确定一台时间校正服务器,让其他服务器都与之进行时间对比校正。这里我准备了三台虚拟机,主机名分别为 hadoop102 hadoop103 hadoop104,其中 hadoop102 为时间服务器
第一步:修改 hadoop102 的 ntp.conf 文件
vim /etc/ntp.conf
第二步(可选):修改 hadoop102 的 ntpd 文件, 使系统时间更加精确(晶振)
vim /etc/sysconfig/ntpd
# 同步软件时间改为同步硬件时间(可选)
第三步:重启 hadoop102 的 ntpd 服务,同时关闭 hadoop103 和 hadoop104 的 ntpd 服务(防止其联网来进行时间校正)
第四步:启动 hadoop103 和 hadoop104 的 crontab 任务调度,每分钟都进行一次时间校正
sudo crontab -e
*/1 * * * * /usr/sbin/ntpdate hadoop102
# hadoop103 hadoop104 每分钟与hadoop102进行时间同步