日期:2014-05-16  浏览次数:20617 次

局域网中linux主机之间同步时间的一种笨方法

这几天在实验室用淘汰的pc搭了一个8个节点的小集群做hama的实验,从重新组装硬件到装系统、配置集群,忙了两天,满身都是灰。

安装集群时,经常需要同步各个节点之间的系统时间,例如hbase集群中,过大的时间差可能会导致诡异的问题

对于几个节点的小集群,可以用NTP(network time protocol)同步时间,而且手动就可以:

选择局域网中的一台机器作为ntp服务器,在这台机器上需要安装并启动ntpd

其他机器上要关闭ntpd,安装ntpdate

centos6.3上这两个软件都是自带的,只需根据需要打开或者关闭。

注意其他机器的ntpd必须关闭:

# service ntpd stop

修改ntp服务器上的/etc/ntp.conf,加上以下的配置:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

后面哪个数字在0-15之间都可以,这样就将这台机器的本地时间作为ntp服务提供给客户端

重启ntpd:

# service ntpd restart

等五六分钟,让ntpd完成自身的时间同步,这期间可以用:

# watch ntpq -p

查看状态,第6列达到17时就可以了。等待的时间是第5列poll的秒数乘以5。

然后其他的机器上执行:

# ntpdate xxxx
xxxx是ntp服务器的ip地址或者主机名

也可以设置时间自动同步。

参考:

http://www.blogjava.net/spray/archive/2008/07/10/213964.html

http://www.linuxidc.com/Linux/2012-07/66272.htm