hadoop叢集本地時間同步操作
測試環境:
192.168.217.130 master master.hadoop
192.168.217.131 node1 node1.hadoop
192.168.217.132 node2 node2.hadoop
一、設定master伺服器時間
檢視本地時間和時區
[[email protected] ~]# date
Mon Feb 27 09:54:09 CST 2017
選擇時區
[[email protected] ~]# tzselect
修改時間(date -s 00:00:00或者網路同步:apt-get install ntpdate ; ntpdate cn.pool.ntp.org)
寫入硬碟時間(hwclock -w)
二、在master伺服器上檢查時間服務是否安裝
[[email protected] ~]# rpm -q ntp
ntp-4.2.4p8-2.el6.x86_64
如果沒有安裝,用yum安裝
按上面的安裝方式在內網每臺伺服器上都安裝好NTP軟體包。
完成後,都需要配置NTP服務為自啟動
[[email protected] ~]# chkconfig ntpd on
[[email protected] ~]# chkconfig --list ntpd
ntpd 0:off1:off2:on3:on4:on5:on6:off
三、在master上更改相關配置檔案
進行如下修改:
第一處新增,意思是從IP地址192.168.217.1-192.168.217.254,預設閘道器255.255.255.0的伺服器都可以使用我們的NTP伺服器來同步時間
第二處新增,指明網際網路和區域網中作為NTP伺服器的IP
第三處是修改,將原有註釋去掉,是當伺服器與公用的時間伺服器失去聯絡時以本地時間為客戶端提供時間服務
配置檔案修改完成,儲存退出,啟動服務。
[[email protected] ~]# service ntpd start
啟動後,一般需要5-10分鐘左右的時候才能與外部時間伺服器開始同步時間。可以通過命令查詢NTPD服務情況。
檢視服務連線和監聽
[[email protected] ~]# 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
重新啟動服務
[[email protected] ~]# service ntpd restart
可設定crontab每天和NTP伺服器同步一次(以和網際網路時間同步為例)
[[email protected] ~]# crontab -l
10 23 * * * root (/usr/sbin/ntpdate cn.pool.ntp.org && /sbin/hwclock -w) &> /var/log/ntpdate.log
四、 將其他節點的時間與master進行同步
在其他每一個節點執行命令
[[email protected] ~]# ntpdate master
27 Feb 10:10:15 ntpdate[32724]: adjust time server 192.168.217.130 offset -0.170230 sec
[[email protected] ~]# ntpdate master
27 Feb 10:10:23 ntpdate[30874]: adjust time server 192.168.217.130 offset -0.149563 sec
這時候發現節點間的時間同步了,但ntpdate只在開機執行,我們若要設定為1小時同步一次
[[email protected] ~]# crontab -l
* */1 * * * /usr/sbin/ntpdate master