局域网内多台Linux服务器时钟不同步问题解决

公司有七台物理机服务器内网主机名和IP分别为

server1:192.168.3.2

server2:192.168.3.4

server3:192.168.3.6

server4:192.168.3.8

hadoop1:192.168.3.10

hadoop2:192.168.3.12

hadoop3:192.168.3.14

 

其中server1:192.168.3.2这台机器当作局域网的ntp服务器,其它6台都与这一台服务器进行对时,server1自已则通过与外网公共的ntp服务器进行对时。

除了server1之外的6台机器上都写入定时任务,执行指令crontab -e在其中写入定时任务脚本

*/10 * * * * ntpdate 192.168.3.2; hwclock -w

意思是每10分钟执行一次对时并修改当前主机的硬件时间。如图1所示:

 

图1

但是使用一段时间后发现服务器时间并没有对准,随着时间的推移时差越来越大,说明这里对时肯定出了问题。

调试过程:

直接将定时任务调整为每分钟执行一次,这时发现生成的日志/var/spool/mail/root报错,如图2所示:

图2

错误很明显是对时脚本运行不成功,原因是ntpdate和hwclock这两个指令没找到(command not found)。

 

解决办法:

在需要对时的机器上执行命令

whereis ntpdate

如图3所示:

 

图3

再执行命令whereis hwclock如图4所示:

 

图4

以上两个红框中路径就是ntpdate和hwclock的路径,将红框中的路径加到图1所示的对时脚本前,修改后的对时脚本如图5所示:

 

图5

保存后等10分钟,再次查看/var/spool/mail/root日志已显示能正常对时,如图6所示:

 

图6

以上步骤完成了server2定时向server1的对时任务,其余5台服务器也进行同样的设置后查看各台机器时间(10分钟对时一次的效果)效果如图7:

 

图7

分秒不差,能满足大数据集群服务对时间一致性的要求。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页