天天看點

完全分布式叢集時間同步

完全分布式叢集時間同步

叢集時間同步是什麼?

叢集時間同步:找一個機器,作為時間伺服器,所有的機器與這台叢集時間進行定時的同步,比如,每隔十分鐘,同步一次時間。

為什麼要做時間同步?

随着叢集節點數的增加,叢集各節點之間時間不一緻的問題會越來越嚴重,經常會引發故障,​

​為避免類似問題出現,需要架設獨立的時間同步伺服器,并設定所有節點定時與時間伺服器進行同步​

​。

如何完成叢集時間同步?

配置時間同步具體實操:

完全分布式叢集時間同步

1. 時間伺服器配置 ​

​必須root使用者可者root權限​

(1)檢查ntp是否安裝

什麼是ntp?

NTP伺服器【Network Time Protocol(NTP)】是用來使計算機時間同步化的一種協定

rpm -qa|grep ntp      

ntp-4.2.6p5-10.el6.centos.x86_64

fontpackages-filesystem-1.41-1.1.el6.noarch

ntpdate-4.2.6p5-10.el6.centos.x86_64

(2)修改ntp配置檔案

sudo vim /etc/ntp.conf      

修改内容如下

a)修改1(授權192.168.1.0-192.168.1.255網段上的所有機器可以從這台機器上查詢和同步時間)

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap為
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap      

b)修改2(叢集在區域網路中,不使用其他網際網路上的時間)

注釋掉

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 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      

c)添加3(當該節點丢失網絡連接配接,依然可以采用本地時間作為時間伺服器為叢集中的其他節點提供時間同步)

server 127.127.1.0
fudge 127.127.1.0 stratum 10      

(3)修改/etc/sysconfig/ntpd 檔案

vim /etc/sysconfig/ntpd      

增加内容如下(讓硬體時間與系統時間一起同步)

SYNC_HWCLOCK=yes      

(4)重新啟動ntpd服務

sudo service ntpd status
sudo service ntpd start      

(5)設定ntpd服務開機啟動

sudo chkconfig ntpd on      

2. 其他機器配置​

​必須root使用者可者root權限​

(1)在其他機器配置10分鐘與時間伺服器同步一次

什麼是crontab?

crontab 指令常見于Unix和類Unix的作業系統之中,用于設定周期性被執行的指令

完全分布式叢集時間同步
* * * * * 執行的任務      
完全分布式叢集時間同步

在hadoop103

sudo crontab -e      

編寫定時任務如下:

*/10 * * * * /usr/sbin/ntpdate hadoop102      

(2)修改任意機器時間

date -s "2020-11-11 11:11:11"      

(3)十分鐘後檢視機器是否與時間伺服器同步

date