測試環境:
192.168.217.130 master master.hadoop
192.168.217.131 node1 node1.hadoop
192.168.217.132 node2 node2.hadoop
一、設置master服務器時間
查看本地時間和時區
[root@master ~]# date
Mon Feb 27 09:54:09 CST 2017
選擇時區
[root@master ~]# tzselect


[root@master ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改時間(date -s 00:00:00或者網絡同步:apt-get install ntpdate ; ntpdate cn.pool.ntp.org)
寫入硬盤時間(hwclock -w)
二、在master服務器上檢查時間服務是否安裝
[root@node1 ~]# rpm -q ntp
ntp-4.2.4p8-2.el6.x86_64
如果沒有安裝,用yum安裝
[root@node1 ~]# yum install ntp
按上面的安裝方式在內網每台服務器上都安裝好NTP軟件包。
完成后,都需要配置NTP服務為自啟動
[root@master ~]# chkconfig ntpd on
[root@master ~]# chkconfig --list ntpd
ntpd 0:off1:off2:on3:on4:on5:on6:off
三、在master上更改相關配置文件
[root@master ~]# vim /etc/ntp.conf
進行如下修改:

第一處新增,意思是從IP地址192.168.217.1-192.168.217.254,默認網關255.255.255.0的服務器都可以使用我們的NTP服務器來同步時間
第二處新增,
指明互聯網和局域網中作為NTP服務器的IP
第三處是修改,將原有注釋去掉,
是當服務器與公用的時間服務器失去聯系時以本地時間為客戶端提供時間服務
配置文件修改完成,保存退出,啟動服務。
[root@master ~]# service ntpd start
啟動后,一般需要5-10分鍾左右的時候才能與外部時間服務器開始同步時間。可以通過命令查詢NTPD服務情況。
查看服務連接和監聽
[root@master ~]# netstat -tlunp | grep ntp
udp 0 0 192.168.217.130:123 0.0.0.0:* 4990/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 4990/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 4990/ntpd
udp 0 0 fe80::20c:29ff:fee7:123 :::* 4990/ntpd
udp 0 0 ::1:123 :::* 4990/ntpd
udp 0 0 :::123 :::* 4990/ntpd
重新啟動服務
[root@master ~]# service ntpd restart
可設置crontab每天和NTP服務器同步一次(以和互聯網時間同步為例)
[root@master ~]# crontab -l
10 23 * * * root (/usr/sbin/ntpdate cn.pool.ntp.org && /sbin/hwclock -w) &> /var/log/ntpdate.log
四、 將其他節點的時間與master進行同步
在其他每一個節點運行命令
[root@node1 ~]# ntpdate master
27 Feb 10:10:15 ntpdate[32724]: adjust time server 192.168.217.130 offset -0.170230 sec
[root@node2 ~]# ntpdate master
27 Feb 10:10:23 ntpdate[30874]: adjust time server 192.168.217.130 offset -0.149563 sec
這時候發現節點間的時間同步了,但ntpdate只在開機運行,我們若要設置為1小時同步一次
[root@node1 ~]# crontab -l
* */1 * * * /usr/sbin/ntpdate master