1. 程式人生 > >hadoop叢集本地時間同步操作

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

 [[email protected]

~]# 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伺服器上檢查時間服務是否安裝

[[email protected] ~]# rpm -q ntp

ntp-4.2.4p8-2.el6.x86_64

 

如果沒有安裝,用yum安裝

[[email protected]

~]# yum install ntp

 

按上面的安裝方式在內網每臺伺服器上都安裝好NTP軟體包。

完成後,都需要配置NTP服務為自啟動

[[email protected] ~]# chkconfig ntpd on

[[email protected] ~]# chkconfig --list ntpd

ntpd           0:off1:off2:on3:on4:on5:on6:off

 

三、在master上更改相關配置檔案

[[email protected]

~]# vim /etc/ntp.conf 

 

 

進行如下修改:

第一處新增,意思是從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