分布式集群时间同步问题
时间不同步导致的问题
举一个例子,在电商网站中,进行下单操作,那么数据库中就会存储下单时间,通常订单系统都是集群化部署,然而如果服务器之间的系统时间不一致,那么就会导致每次的下单时间都不一致,甚至如果有一台的时间是昨天,今天下的单就成了昨天下的单了,势必会导致数据的混乱。
集群时间同步
思路:集群时间同步,必须有一个标准时间作为同步标准机器,通常我们和国家授时中心的时间服务器去同步
使用yum install ntp 下载接口
这里分两种情况,分别说明
一、集群中各个服务器都可以访问互联网
使用ntp命令
#使⽤ ntpdate ⽹络时间同步命令
ntpdate -u ntp.api.bz #从⼀个时间服务器同步时间
就可以去同步时间了
二、集群中只有一台能联网
那么我们可以先让node1使用ntp命令和国家授时中心进行同步时间,然后node2和node3再和node1进行时间同步
第一步:node1时间同步
ntpdate -u ntp.api.bz
第二步:设置node1作为标准时间机器
修改/etc/ntp.conf⽂件
1、如果有 restrict default ignore,注释掉它
2、添加如下内容
restrict 172.17.0.0 mask 255.255.255.0 nomodify notrap # 放开局
域网同步功能,172.17.0.0是你的局域网网段
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
3、重启生效并配置ntpd服务开机自启动
service ntpd restart
chkconfig ntpd on
第三步:与node1进行同步
ntpdate 172.17.0.17
最后
使用cuond设置一个定时任务,每隔第一段时间执行一次命令同步一次就可以了