2013-08-22 38 views
1

我无法启动Hbase,每当我启动时,我只能以jps的形式获取Hmaster和Hregionserver。 Hquorompeer保持missing.I检查日志,我收到以下错误:Hbase错误java.lang.RuntimeException:无法运行法定服务器

java.lang.RuntimeException: Unable to run quorum server 
     at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:454) 
     at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:409) 
     at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:151) 
     at org.apache.hadoop.hbase.zookeeper.HQuorumPeer.runZKServer(HQuorumPeer.java:80) 
     at org.apache.hadoop.hbase.zookeeper.HQuorumPeer.main(HQuorumPeer.java:70) 
Caused by: java.io.IOException: Failed to process transaction type: 1 error: KeeperErrorCode = NoNode for /hbase 
     at org.apache.zookeeper.server.persistence.FileTxnSnapLog.restore(FileTxnSnapLog.java:153) 
     at org.apache.zookeeper.server.ZKDatabase.loadDataBase(ZKDatabase.java:223) 
     at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:417) 
     ... 4 more 
Caused by: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase 
     at org.apache.zookeeper.server.persistence.FileTxnSnapLog.processTransaction(FileTxnSnapLog.java:211) 
     at org.apache.zookeeper.server.persistence.FileTxnSnapLog.restore(FileTxnSnapLog.java:151) 
+0

发布你的配置文件的内容 – techvineet

+0

其中的所有文件hbase-site.xml? – user2567368

+0

转到HBASE_HOME/conf/hbase-site.xml和hbase-default.xml – techvineet

回答

3

您遇到这个错误可能是在那里动物园管理员商店快照和日志被损坏的数据目录的原因。

为了避免HQuorumpeer守护进程消失,您需要提供一个路径,以便zookeeper可以存储其快照的新目录。为此,您需要在Hbase.site.xml中添加以下属性

<property> 
<name>hbase.zookeeper.property.dataDir</name> 
<value>location of the newly created folder</value> 
<description>Property from ZooKeeper's config zoo.cfg. 
The directory where the snapshot is stored. 
</description> 
</property> 
+0

我从/ tmp目录中删除了所有日志,这解决了我的问题。谢谢大家的时间。 – user2567368

+0

从zookeeper日志目录中删除日志有效。感谢user2567368 –

0

从ZooKeeper目录中删除所有文件解决了该问题。在我的情况

rm /var/lib/zookeeper/version-2/* 
1

的 “hbase.zookeeper.property.dataDir” 是的/ tmp/HBase的默认路径 - * /动物园管理员(/ tmp目录/ HBase的-的Hadoop /动物园管理员),删除它,然后尝试启动饲养员再次