hadoop集群中有个slave节点的时间与master不同步

在slave3上jps,发现没有HQuorumPeer

查看log

 

cd /usr/local/hbase/logs

 

tail -n 100 hbase-hadoop-regionserver-slave3-t.log

发现报错:

 

2018-03-09 13:26:00,207 INFO  [regionserver/slave3-t/192.168.8.73:16020] regionserver.HRegionServer: STOPPED:Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException:Server slave3-t,16020,1520573142864 has been rejected;Reported time is too far out of sync with master.  Timedifference of 42951ms > max allowed of 30000ms

 

解决方法:

把slave3-t的时间设为与master-t同步:

 

[root@node1 ~]# ntpdate master-t

27 Feb 10:10:15 ntpdate[32724]: adjust time server 192.168.217.130 offset -0.170230 sec

 

 

注意,在我的master机器上,各节点的名字是这样的,所以ntpdate后面接的名字必须与hosts文件中的一致。

 

hadoop@master-t:~$ cat /etc/hosts

127.0.0.1 localhost

192.168.8.70    master-t

192.168.8.71    slave1-t

192.168.8.72    slave2-t

192.168.8.73    slave3-t

 

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

hadoop@master-t:~$ 

 

 

【注意】

(1)网上,找了很多帖子,写的都是遇到这个问题要重启zookeeper啥的,我目前暂不知道zookeeper怎么重启,没找到配置文件,不知道zookeeper的安装路径。我就是把slave3-t的时间同步了一下。

(2)有时候,时间不同步会引起很多问题,而且不一定会有类似 Time difference of 42951ms > max allowed of 30000ms这种报错。比如我今天遇到了什么java vm内存不够,启动base启动失败,jps报错 java.lang.OutOfMemoryError: unable to create new native thread 等等,我一查几个节点的时间,相差20多分钟。。。天哪,肯定会出现问题。

3)改完设置,要等五分钟,要不然报错"no server suitable for synchronization found"  。亲历。真的。

 

 

 

如果要在slave机器上,设定时,与master同步,一定要root账号去执行。

就是切换为root账号,然后去 crontab -e。 类似下面这样:

 

[root@node1 ~]# crontab -l

* */1 * * * /usr/sbin/ntpdate master

 

你可能感兴趣的:(linux)