不同场景下集群环境时间同步问题

1.场景介绍

比如说我现在项目部署在若干的服务器上面,然后构成整个集群,如果我们每台服务器的时间不一致,我们在业务代码里面拿到的时间也就不一致,这时候不管我们往数据库插入数据的create_time 还是修改数据update_time 还是我们使用时间计算,定时任务等等都会发生错乱,造成数据错乱,所以我们需要对集群下的服务器时间进行同步。
我们对时间同步分为两种情况,一是所有的服务都能连接外网,二就是有一台服务器能够连接外网,其余服务器能够与这台机器内网通信

2. 服务器均能连接外网

所有机器都能够访问外网的话,我们可以使用ntpdate 来进行时间同步
前提是我们服务器上面有ntp ,如果没有的话可以使用yum 安装

yum  install ntp -y

如果安装了可以执行ntpdate命令查看

[bigdata@node1 /]$ ntpdate 4 Jan 15:28:29 ntpdate[28533]: no servers
can be used, exiting

执行命令进行同步

ntpdate -u ntp.api.bz

其中ntp一种网络时间协议,ntpdate 是时间同步软件的命令, ntp.api.bz 是个稳定的ntp时间同步服务器集群。

当然你可以使用linux系统的定时任务来设置每隔多长时间同步一次,使用linux系统下使用crontab -e 可以编辑任务。
这里我是用crontab -e 添加了一个定时每分钟同步时间的任务 ,然后将执行日志写到了/data/c1.log下面

*/1 * * * * /usr/sbin/ntpdate -u ntp.api.bz >/data/c1.log

格式: cron表达式 command

我们可以看一下/data/c1.log 里面的执行日志

然后重启ntpd服务,将ntpd服务设置开机自启

systemctl restart ntpd
systemctl enable ntpd

3. 其他服务器同步

我们内网的集群服务器可以使用ntpdate命令来进行时间同步。

ntpdate 内网时间服务地址

我这边内网的时间服务器是192.168.3.39
所以就是ntpdate 192.168.3.39

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值