大數據系列教程005-NTP方式同步服務器時間

版權聲明:大數據系列教程文章由Java潘老師辛苦原創,免費公開供java愛好者學習。如需轉載請獲得潘老師授權並保留原文鏈接,如有疑問或建議,可以聯繫潘老師:

Q:1562691348

V:A1562691348

本教程學習知識儲備:Java SE基礎、Linux基礎、數據庫基礎

如果不同步服務器時間,在完全分佈式環境下運行代碼時可能會出現如下異常:

 

org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container

 

補充:查看時間指令:

date

 

步驟:

採用NTP(Network Time Protocol)方式來實現, 選擇一臺機器, 作爲集羣的時間同步服務器, 然後分別配置服務端和集羣其他機器。我這裏以master機器時間爲準,其他機器同這臺機器時間做同步。

 

1.每個節點安裝ntp服務

sudo yum install ntp -y

2.配置master的/etc/ntp.conf,這邊採用本地機器作爲時間的原點

 

1)只允許192.168.217.0網段的客戶機進行時間同步

原:

 

現:

 

2)註釋掉默認的server0~3,新增中國最活躍的時間服務器 : http://www.pool.ntp.org/zone/cn

server 210.72.145.44 perfer # 中國國家受時中心

server 202.112.10.36 # 1.cn.pool.ntp.org

server 59.124.196.83 # 0.asia.pool.ntp.org

原:

 

現:

 

3)允許上層時間服務器主動修改本機時間

restrict 210.72.145.44 nomodify notrap noquery

restrict 202.112.10.36 nomodify notrap noquery

restrict 59.124.196.83 nomodify notrap noquery

新增:

 

4)外部時間服務器不可用時,以本地時間作爲時間服務

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

新增:

 

5)配置文件修改完成,保存退出,啓動服務。

service ntpd start

 

3.在其他節點slave1和slave2中同步主節點時間:

sudo ntpdate master

4.由於ntpdate只在開機運行,我們需要設置爲1小時同步一次

 

在slave1和slave2中使用crontab來自動更新時間:

 

crontab -e

 

添加如下行:

 

* */1 * * * /usr/sbin/ntpdate master

 

使用date命令發現所有節點時間已經一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章