集群设置时钟同步ntp。
对于hadoop集群设置时钟同步就是一个十分重要的事情,下面我介绍一下,debain设置时钟同步的方法。网上关于RedHat和centos系统的设置方法都很多,我就不介绍了。
同步模式:所有的slaves同步master的时间。
我是参考下面网址:
http://www.debianadmin.com/ntp-server-and-client-configuration-in-debian.html
首先安装ntp: apt-get install ntp
安装之后,在etc下面只有ntp.conf一个配置文件,没有其他相关的文件。
所以需要配置这个文件。
在master上陪之后ntp服务器。
具体的配置如下
restrict 127.0.0.1
restrict ::1
需要以上两行
restrict 192.168.2.0 mask 255.255.255.0nomodify notrap
这一行应该是对网关进行限制。
Restrict -4default kod nomodify notrap nopeer noquery
Restrict -6default kod nomodify notrap nopeer noquery
这句话是对ipv4和ipv6进行限制,具体的后面的参数什么意思,我不太清楚具体如下:
restrict <IP 地址> <子网掩码> |<网段> <子网掩码> [ignore|noquery|notrap|nomodiy|notrust|nokod]
ignore :关闭所有ntp服务
noquery:不提供ntp服务
notrap:不提供trap远程事件登录的功能
nomodiy:表示客户端不能更改ntp服务器的时间参数,但可以通过ntp服务器进行时间矫正
notrust:拒绝没有通过认证的客户端
nokod:kod技术可以组织一种dos攻击
上面的那句话应该是对ipv4进行限制,但是根据下面设置的,slave还是同步成功,干脆将这一行注释掉了,然后就可以了。
上面色server服务器可以自定义,是master所要同步的服务器
保存退出。
然后重启ntp服务。
然后到slaver上运行ntpdate master-ip。如果出现,ntp socket is in use,就关闭slaver的ntp服务:/etc/init.d/ntp stop。然后同步,然后过一会儿就成功了。
但是我有一个疑问,如果开着ntp服务,那么再ntpdateserver-ip就会提示ntp socket is in use。这种情况下,所有的slaver同步master是没有问题,但是master的ntp服务确实是需要开着,但是如果master需要同步外网的话,是怎么去同步的。这种情况我还没有弄清楚。