分布式环境下的服务器时钟同步问题解决办法

一、分布式集群场景下时钟不同步会有什么问题?


如上面的示意图所示,分布式集群场景下如果各个服务器时间不一致,可能导致同一时间产生的数据,在处理过程中和数据库中,保存成了不同的时间,造成数据混乱。


二、集群时钟同步配置

场景1 每个节点都能连网

思路:每个节点都访问同一个时间服务器来同步自身的时间
操作:配置网络上的时间服务器,通过ntpdate命令

#使⽤ ntpdate ⽹络时间同步命令
ntpdate -u ntp.api.bz #从⼀个时间服务器同步时间

场景2 只有某一个节点能联网或者都不能联网

思路:把某一台服务器作为局域网内的时间服务器,其他服务器都跟它进行时间同步。如果这个节点能联网那么这个节点就从网络同步时间,不能联网则给其设置好一个时间。
操作:

  1. 假设用来作为内网时间服务器为A
  2. A能联网,则参照第一步为其设置好时间服务器。否则则手动为其设置时间
  3. 把A配置问时间服务器
#1、如果有 restrict default ignore,注释掉它
#2、添加如下⼏⾏内容
# 放开局域⽹同步功能,172.17.0.0是你的局域⽹⽹段
restrict 172.17.0.0 mask 255.255.255.0 nomodify notrap 
# local clock
server 127.127.1.0 
fudge 127.127.1.0 stratum 10
#3、重启⽣效并配置ntpd服务开机⾃启动
service ntpd restart
chkconfig ntpd on
  1. 将其他服务器的时间同步来源,设置为A ntpdate 172.17.0.17

优化:给每个服务器节点,增加定时从服务器更新时间的定时任务

windows有计划任务,linux有定时任务crond

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值