Lesson11 Hadoop 完全分佈式 集羣時間同步 crontab & ntp 的配置

爲了防止分佈式集羣運行任務時出錯,節點間要進行時間同步。 

時間同步方式:選定一臺主機作爲時間服務器,其它主機與其進行定時的時間同步,比如每隔十分鐘,同步一次時間。

定時任務的實現:Crontab,時間服務器的配置:ntp

一、 Crontab 的使用:

1.  基本語法:crontab [選項]

   選項:

  • -e  編輯crontab定時任務
  • -l   查詢crontab任務
  • -r   刪除當前用戶的crontab任務

 2.  創建任務:輸入 crontab -e 進入 crontab 編輯界面,默認打開 vim 編輯器進行編輯,創建任務。

3.   任務格式:* * * * * 命令

 

含義

範圍

第一個 *

一個小時當中的第幾分鐘

0~59

第二個 *

一天當中的第幾個小時

0~23

第三個 *

一個月當中的第幾天

1~31

第四個 *

一年當中的第幾個月

1~12

第五個 *

一週當中的周幾

0~707都代表週日)

特殊符號

含義

*

代表任何時間。比如:第一個“*”就代表一個小時中每分鐘都執行一次的意思。

,   

代表不連續的時間。比如:“0 8,12,16 * * * 命令”代表在每天的80分、120分、160分執行命令。

-

代表連續的時間範圍。比如:“0 5 * * 1-5 命令”代表在週一到週五的凌晨50分執行命令。

*/n

代表每隔多久執行一次。比如:“*/10 * * * * 命令”代表每隔十分鐘就執行一次命令。

        示例:*/1 * * * * /usr/bin/echo 11 >> /tmp/test.txt

                   每隔 1 分鐘向 test 文件裏添加一個 11 。

二、時間服務器的配置 ntp :

1.  安裝 ntp :yum install -y ntp 

2.  編輯 /etc/ntp.conf 文件:

     ① 授權 192.168.31.0 - 192.168.31.255 網段上的所有主機可以從這臺主機上查詢和同步時間。

   將 #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 改爲

      restrict 192.168.31.0 mask 255.255.255.0 nomodify notrap

      設置集羣在局域網中,不使用其它互聯網上的時間。 

   註釋掉:
   server 0.centos.pool.ntp.org iburst
   server 1.centos.pool.ntp.org iburst
   server 2.centos.pool.ntp.org iburst
   server 3.centos.pool.ntp.org iburst

         

     設置當該節點丟失網絡連接,依然可以採用本地時間作爲時間服務器爲集羣中的其它節點提供時間同步。

   在最後一行添加
   server 127.127.1.0
   fudge 127.127.1.0 stratum 10

         

3.  編輯 /etc/sysconfig/ntpd 文件: 

     在最後一行添加 SYNC_HWCLOCK=yes ,讓硬件時間與系統時間一起同步。

      

4.  重啓 ntpd 服務,並設置開機自啓: 

  systemctl restart ntpd
  systemctl status ntpd
  systemctl enable ntpd

      

三、 其它主機的配置: 

在其它主機下編寫定時任務 crontab -e ,內容爲

*/10 * * * * /usr/sbin/ntpdate node1

此時若用命令 date -s 修改系統時間

可以看到一段時間後時間會被自動同步 

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