HBase的異常(一)

hbase(main):001:0> list
TABLE                                                                                              
2017-06-13 18:30:31,489 ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 4 attempts
2017-06-13 18:30:31,490 WARN  [main] zookeeper.ZKUtil: hconnection-0x7a23e24, quorum=bruce:2181, baseZNode=/hbase Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
	at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
	at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:220)
	at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:481)
	at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
	at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:839)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:642)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:411)
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:390)
	at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:271)
	at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:195)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at org.jruby.javasupport.JavaConstructor.newInstanceDirect(JavaConstructor.java:275)
	at org.jruby.java.invokers.ConstructorInvoker.call(ConstructorInvoker.java:91)
	at org.jruby.java.invokers.ConstructorInvoker.call(ConstructorInvoker.java:178)
	at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
	at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
	at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)
	at org.jruby.java.proxies.ConcreteJavaProxy$2.call(ConcreteJavaProxy.java:48)
	at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
	at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
	at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)
	at org.jruby.RubyClass.newInstance(RubyClass.java:829)
	at org.jruby.RubyClass$i$newInstance.call(RubyClass$i$newInstance.gen:65535)
	at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock.call(JavaMethod.java:266)
	at org.jruby.java.proxies.ConcreteJavaProxy$3.call(ConcreteJavaProxy.java:144)
	at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
	at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
	at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
	at org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
	at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
	at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
	at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
	at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
	at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)


報錯:ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 4 attempts
2017-06-13 18:30:31,490 WARN  [main] zookeeper.ZKUtil: hconnection-0x7a23e24, quorum=bruce:2181, baseZNode=/hbase Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid

分析:我們知道HBase的啓動會啓動兩個進程,分別是master和regionserver,一方面master需要zookeeper保證其唯一工作狀態,另外一方面,HBase的元數據都是存儲在zookeeper中的,所以在啓用HBase前需要啓動zookeeper;

解決:

1、這個時候可以通過命令:$jps    查看是否啓動zookeeper,進程名爲:QuorumPeerMain

2、也可以通過命令:$ ps -ef | grep QuorumPeerMain  查看zookeeper進程是否存在。


擴展:之前也有遇到,zookeeper也啓動了,hbase的命令操作不報錯,但就是不出結果。

我們常用的DDL操作都是由master執行的,這時需要去檢查下 hbase的進程是否都正常啓動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章