zookeeper集群同步时间设置

所用机器系统是ubuntu,命令会有所不同其他的系统
1.选择master服务器作为NTP服务器
2.给集群所有机器安装ntp服务

sudo apt-get install ntp

3.修改master的配置文件/etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 restrict -6 ::1

# 允许172.16.0.0网段内所有机器从master同步时间
restrict 172.16.0.0 mask 255.255.255.0 nomodify notrap

# master通过外网同步时间的服务器列表,注释掉的是默认的
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst

# 中国国家授时中心服务器地址
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org

# 允许上层时间服务器主动修改本机时间
restrict 0.cn.pool.ntp.org nomodify notrap noquery
restrict 1.cn.pool.ntp.org nomodify notrap noquery
restrict 2.cn.pool.ntp.org nomodify notrap noquery

4.同步中国教育网提供的时间,然后再启动ntp服务
先同步主要是校正master机器的时间

ntpdate -u 202.112.10.36
sudo service ntp start             #启动ntp

5.查看ntp状态

sudo apt-get install net-tools        #安装查看工具
netstat -unlnp | grep ntpd             #查看ntp开启状态
ntpstat                                          #查看ntp同步状态
ntpq -p                                          #查看ntp与服务器的时间偏移

6.修改集群内其他机器的/etc/ntp.conf配置文件

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1

# 允许修改
server 172.16.0.30
restrict 172.16.0.30 nomodify notrap noquery
# 用本地的时间服务
server 127.127.1.0
fudge 127.127.1.0 stratum 10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

# 同步时间后,写到硬件中
SYNC_HWCLOCK=yes

  1. 每台机器在启动ntp服务之前,手动同步一下时间
sudo ntpdate -u master      #同步主机的时间

8.启动每台机器的ntp服务

ntpq -p     #查看时间偏移 offset的差值
zookeeper集群同步时间设置_第1张图片
1.png

local就是本机,master就是主机,看offset,两台机器相差4.7秒。有的时候会相差100多秒主要是因为是vm虚拟机。
解决办法:

sudo service ntp stop      #停了本机的ntp服务
sudo ntpdate -u master   #同步master服务,等5-10分钟再启动
sudo service ntp start     #启动服务

9.测试
date命令

date

你可能感兴趣的:(zookeeper集群同步时间设置)