Hbase启动从节点报错:FATAL org.apache.hadoop.hbase.regionserver.HRegionServer:...ClockOutOfSyncException

来源:互联网 发布:如何正确下载软件 编辑:程序博客网 时间:2024/03/29 03:30

前提:

配置好hadoop、zookeeper,和Hbased的配置文件。

通过主节点启动Hbase: ./bin/start-hbase.sh

报错:

2016-08-17 11:29:40,895 FATAL org.apache.hadoop.hbase.regionserver.HRegionServer: Master rejected startup because clock is out of sync org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server zzs173,60020,1471404579580 has been rejected; Reported time is too far out of sync with master.  Time difference of 43175940ms > max allowed of 180000ms


1)报错完整信息为:

2016-08-17 11:29:40,895 FATAL org.apache.hadoop.hbase.regionserver.HRegionServer: Master rejected startup because clock is out of sync org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server zzs173,60020,1471404579580 has been rejected; Reported time is too far out of sync with master.  Time difference of 43175940ms > max allowed of 180000ms    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)    at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:95)    at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:79)    at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2117)    at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:754)    at java.lang.Thread.run(Thread.java:745)Caused by: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hbase.ClockOutOfSyncException: Server zzs173,60020,1471404579580 has been rejected; Reported time is too far out of sync with master.  Time difference of 43175940ms > max allowed of 180000ms    at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:235)    at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:169)    at org.apache.hadoop.hbase.master.HMaster.regionServerStartup(HMaster.java:1084)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:497)    at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:323)    at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1434)    at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1017)    at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:87)    at com.sun.proxy.$Proxy7.regionServerStartup(Unknown Source)    at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2115)    ... 2 more


2) 解决

明显看到报错信息:

Time difference of 43175940ms > max allowed of 180000ms


解决方案A:

<span style="font-size:18px;">同步集群主机的时间</span>

解决方案B:

配置hbase-site.xml  增加节点

<property>       <name>hbase.master.maxclockskew</name>       <value>180000</value>       <description>Time difference of regionserver frommaster</description>   </property>

发现已经配置了,可是为什么还报错 时间差 大于了 180000ms 呢?


速度查看系统的时间,分别为:

171 Wed Aug 17 23:36:33 CST 2016172 Wed Aug 17 23:36:33 CST 2016173 Wed Aug 17 23:36:33 EDT 2016

细心才发现,时间的格式不一致,一个为CST,一个为EDT,所以EDT的这台机器老报错。

解决:

# shell中直接执行:mv /etc/localtime /etc/localtime.bakln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtimedate

重启Hbase,问题解决。


0 0
原创粉丝点击