分布式集群服务器时间同步方案

1,362 阅读2分钟

前言

在分布式系统中,时间同步往往是令人头疼的一件事情,许多与时间相关的中间件就会出现由于时间不同步,出现个集群间,或者集群中各个服务器件数据不同步问题,比如: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