linux时间同步

本文参考文章如下:

http://www.cnblogs.com/zhwl/p/3670409.html

http://blog.csdn.net/bbirdsky/article/details/20445385


linux集群时间同步



说明:由于hadoop集群对时间要求很高,所以集群内主机要经常同步。本文档适合ubuntu、redhat系列。


注:很多内容是在网上摘录,然后试验后总结,如有疑问可留言探讨。


 


 


1.设置主机时间准确(所有机器)
。//如果不需要同步网络时间则可以省略这一步


1.1查看本机时间和时区(date)


1.2设置时区(通过tzselect 命令选择时区 ; 选择后执行cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime)(这里是redhat的修改时区,ubuntu较简单,命令网上查找)


1.3修改时间(date -s 00:00:00或者网络同步:apt-get install ntpdate ; ntpdate cn.pool.ntp.org)


1.4写入硬盘时间(hwclock -w)


这样主机时间设置完毕。




2.时间同步(主机)



配置主机环境(yum install ntp  )(用ubuntu做主机也可,设置参考ubuntu时间同步)


•vi /etc/ntp.conf


在后面加上


server 127.127.1.0


Fudge 127.127.1.0 stratum 10


•关闭防火墙: #service iptables stop


•重新启动服务:


service ntpd stop(ubuntu是service ntp stop)


service ntpd start


service ntpd restart


这样主机准备完毕。


3.其他机器同步


•等待大概五分钟,再到其他机上同步该机器时间(先确保时区一样,否则同步以后时间也是有时区差的)


ntpdate IP地址(主机的)


Date查看时间是否同步完成。


4.根据需要,这里可以让分机器定时自动同步时间


4.1.yum install crontabs(atp-get)


4.2.crontab -e 编辑内容: * */12 * * * /usr/sbin/ntpdate 172.72.103.228(每12个小时更新一次,也可特定时间更新一次,格式可网上查找)


4.3保存退出即可,可以到/var/spool/mail/下查看记录










遇到的问题:
1. 使用ntpdate IP地址(主机的)后同步时间失败,报错信息如下:
ntpdate: no server suitable for synchronization found


【解决】:
注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
210.72.145.44:中国国家授时中心的官方服务器。

2. 最后从节点使用ntpdate与主机同步时间时,发现提示同步时间成功,但是时间却和主机对不上。


[root@slave2 home]# ntpdate -u 192.168.6.180
26 Aug 20:01:34 ntpdate[5920]: adjust time server 192.168.6.180 offset 0.004114 sec


[root@master home]# date
Sat Aug 27 10:51:06 CST 2016

【解决】:
出现这种情况是由于时区不同的原因,注意所有机器应该在同一时区,查看时区方法如下:

[root@master home]# more /etc/sysconfig/clock 
ZONE="America/Los_Angeles"




设置方法:
tzselect ;选择后执行cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后再次使用命令:ntpdate -u xxx.xxx.xxx.xxx
时间这个时候应该同步成功了。
但是再次查看时区,发现时区并没有更改,依然是America/Los_Angeles,亟待各位解决。





















你可能感兴趣的:(linux)