CDH Hadoop集群虛擬機本地配置搭建筆記_part3_集群NTP時間同步配置(ntpd,ntpdate)

 接續前面篇章
CDH Hadoop集群虛擬機本地配置搭建筆記


https://forumautomation.com/t/what-is-network-time-protocol-ntp/10736

NTP(Network Time Protocol)的主要功能是保持電腦系統間的時間同步。是一種有助於跨網路同步電腦時鐘計時的協定。該協定是一種應用程式協議,負責 TCP/IP 網路上的主機同步。


在 Hadoop 這類分散式資料系統,時間同步對於維持數據一致性和處理順序非常重要。時間不同步可能導致數據處理錯誤,影響系統的整體性能和可靠性。

在CentOS Linux系統默認其實已經有一套所謂chrony的時間同步程序
systemctl status chronyd
可查看到默認運行中,據很多人說更推薦。

有空再來研究,這邊先停用它改用成熟的NTP吧。

Step1.先將三台節點各自chronyd禁用


Step2.在三台節點下指令安裝ntp,時間同步服務工具安裝。
yum install -y ntp




Step3.這邊要以host1為主要時間參照基準
(以下配置檔要有下載ntp才會存在喔)
在host1上執行指令 vi /etc/ntp.conf

開啟後預設內容如下

添加以下配置
restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge  127.127.1.0  stratum  10



允許該網段內主機參照host1時間配置
nomodify:不允許從這個子網中的任何主機修改 NTP 伺服器的設置。
notrap:阻止這個子網中的主機設置 trap 接收器,這是一種用於異常通知的機制。

NTP 使用所謂的「驅動器」(drivers)來接入不同類型的時間源。
這些時間源可以是外部的(如 GPS 或網絡時間服務),也可以是內部的,如系統的本地時鐘。

fudge 127.127.1.0 stratum 10:這行設置了本地時鐘的 stratum(層級)為 10,NTP 將這個時間源視為距離原始時間源相對較遠的層級。
在 NTP 體系中,stratum 用來表示時間源的準確性和可信度。stratum 的數值越小,表示時間源越接近原始時間參考源,因此越可靠。stratum 的範圍是 1 到 15,其中 1 表示直接連接到原始時間源的伺服器(如原子鐘、GPS等),數值越大表示時間源的準確性和可靠性逐步降低。

並同時將以下這幾項配置給註解掉再存檔
#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

原本用於設置 NTP 伺服器以從 centos.pool.ntp.org 的 NTP 伺服器池獲取時間同步。

Step4.在host1上做啟動ntpd服務指令
啟動ntpd服務,查看ntpd服務狀態。
systemctl start ntpd
systemctl status ntpd

將ntpd服務加入開機啟動,查看是否將ntpd服務加入到開機啟動項。
systemctl enable ntpd
systemctl list-unit-files |grep ntpd 


確認NTP服務有被啟動
systemctl enable ntpd
systemctl start ntpd



Step5.對其餘兩台節點host2,host3配置同步crontab

host2,host3要參照host1時間基準,每隔一分鐘同步一次。
crontab -e

敲i輸入如下內容 並:wq存檔
*/1 * * * *  /usr/sbin/ntpdate host1 ;/sbin/hwclock -w

*/1 * * * *:這部分是 cron 的時間格式。
*/1 每1分鐘,其餘的 * 表示每小時的每一分鐘、
每天的每一小時、每月的每一天和每週的每一天。

/usr/sbin/ntpdate host1:這個命令用於從 host1 同步時間。
ntpdate 是一個工具,用來從指定的 NTP 服務器手動設置計算機的日期和時間。









Ref:
NTP Server (Network Time Protocol) – Linux
[CentOS 7] 這是哪來的美國時間啊?就讓時間伺服器回答你

Why must the ntp server using the local clock use the default loopback ip (127.127.1.0) ?

Linux 設定 crontab 例行性工作排程教學與範例
第十五章、例行性工作排程(crontab)

留言