分散式叢集伺服器時間同步方案

初度發表於2019-02-18

前言

在分散式系統中,時間同步往往是令人頭疼的一件事情,許多與時間相關的中介軟體就會出現由於時間不同步,出現個叢集間,或者叢集中各個伺服器件資料不同步問題,比如:redis定時失效問題。如下是一種同步時間的方案
複製程式碼

方案 1.檢查ntp是否安裝,必須root使用者下操作

[root@chudu2 桌面]# 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配置檔案

[root@chudu2 桌面]# vi /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 檔案

[root@chudu2 桌面]# vim /etc/sysconfig/ntpd

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

SYNC_HWCLOCK=yes 4重新啟動ntpd服務

[root@chudu2 桌面]# service ntpd status

ntpd 已停

[root@chudu2 桌面]# service ntpd start

正在啟動 ntpd: [確定] 5設定ntpd服務開機啟動

[root@chudu2 桌面]# chkconfig ntpd on 6 其他機器配置(必須root使用者)

對於自己搭建的測試伺服器,會影響效能,將同步時間間隔設定長點比如每個周

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

[root@chudu3桌面]# crontab -e

編寫定時任務如下:

*/1 * * * * /usr/sbin/ntpdate chudu2

(2)修改任意機器時間

[root@chudu3桌面]# date -s "2017-9-11 11:11:11"

(3)十分鐘後檢視機器是否與時間伺服器同步 [root@chudu3桌面]# date

相關文章