1.发现问题
今天在测试zookeeper的时候,去查看日志的,总数找不到当下的时间的日志,日志打印的都是昨天的日志,一开始我以为是zookeeper已经停止打印日志了,但是我总感觉我这个系统服务器的时间总有问题,于是我用 date 命令查看了一下 日志里面打印的时间是Linux系统当前的时间,发现linux服务器系统时间跟我的Windows的系统相差十多个小时,果然很坑!
而我Windows当前的时间是:2017-12-30 :10:12。
2.分析问题
出现这么大的时间差是因为我的linux虚拟机被暂停工作的原因(睡眠模式),而不是关机状态,所以linux虚拟机就无法工作,时间计时器耶没法工作,而解除睡眠模式后,继续工作,当前的linux就会从上次的时间来时计时,系统并没有很好地主动帮你同步时间,而是一直都用老的时间,即便你重启机器也解决不了,想象都很可怕,如果在集群环境中,更可怕了不是么?
下面是我从其以后在来查看的时间,跟重启之前的时间是一样的,并没有能解决这个问题!
3.解决时间差异,同步时间
(1)超级简单的手段:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
——成功截图
(2)如果你在安装系统的时候没有选择时区那么下面的命令也不会作用,如果你选择的话 可以使用下面的操作来完成你的时间同步问题。
这里介绍一个命令,够用了!
ntpdate
ntpdate -u ntp.api.bz :网络时间同步命令
注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
210.72.145.44:中国国家授时中心的官方服务器。--目前这个ip地址已经无法访问了,所以我们建议你使用:NTP服务器(上海) :ntp.api.bz
ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国:time.nist.gov
复旦:ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
台警大授时中心(台湾):asia.pool.ntp.org
复旦:ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
台警大授时中心(台湾):asia.pool.ntp.org
经测试NTP上海服务器可以正常同步时间,但是出现了新的问题
下面这个测试是我在安装系统的时候没有选择时区才导致我经过(2)步骤的时候,时间并没有修复过来,所以我建议大家使用第一种方法!