【发布时间】:2012-09-18 09:51:28
【问题描述】:
我使用hbase 0.94.1和zookeeper 3.3.6几次尝试后,hbase的master关闭,sw退出
这些是我从 shell 得到的错误
12/09/26 18:58:35 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection
12/09/26 18:58:35 INFO zookeeper.ClientCnxn: Opening socket connection to server /127.0.0.1:2181
12/09/26 18:58:35 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 5133@xxx-xxx
12/09/26 18:58:35 INFO zookeeper.ClientCnxn: Socket connection established to localhost/127.0.0.1:2181, initiating session
12/09/26 18:58:35 WARN zookeeper.ClientCnxnSocket: Connected to an old server; r-o mode will be unavailable
12/09/26 18:58:35 INFO zookeeper.ClientCnxn: Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13a037edbb2000c, negotiated timeout = 40000
12/09/26 18:58:36 ERROR client.HConnectionManager$HConnectionImplementation: Check the value configured in 'zookeeper.znode.parent'. There could be a mismatch with the one configured in the master.
12/09/26 18:58:36 INFO client.HConnectionManager$HConnectionImplementation: Closed zookeeper sessionid=0x13a037edbb2000c
12/09/26 18:58:36 INFO zookeeper.ZooKeeper: Session: 0x13a037edbb2000c closed
12/09/26 18:58:36 INFO zookeeper.ClientCnxn: EventThread shut down
org.apache.hadoop.hbase.MasterNotRunningException: Retried 10 times
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:127)
at util.HBaseHelper.<init>(HBaseHelper.java:29)
at util.HBaseHelper.getHelper(HBaseHelper.java:33)
at driver.ABoxHbaseTableMaker.makeTable(ABoxHbaseTableMaker.java:39)
at driver.ABoxImporterDriver.run(ABoxImporterDriver.java:55)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at driver.ABoxImporterDriver.main(ABoxImporterDriver.java:32)
at gui.Main.jButton1ActionPerformed(Main.java:274)
at gui.Main.access$3(Main.java:241)
at gui.Main$5.actionPerformed(Main.java:160)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
...
T 尝试更改端口,但没有。
这些是配置文件:
zoo.cfg:
tickTime=2000
dataDir=/home/.../.../zookeeper-3.3.6/data
clientPort=2181
hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/.../.../hbase-0.94.1/hbDATA/</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>zookeeper.znode.parent</name>
<value>file:///home/.../.../hbase-0.94.1/hbDATA/</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>
【问题讨论】:
-
首先,您不应该只有一个 zookeeper 主机 (localhost)。 hbase-site.xml中的
hbase.zookeeper.quorum属性中至少要配置三个zookeeper主机 -
即使我在本地机器上尝试代码? (此尝试不需要 hdfs)
-
哦,好的,没关系。但后来我想知道你为什么给
zookeeper.znode.parent赋值。这不是您通常应该配置的东西,只是为了尝试代码。检查这里hbase.apache.org/book/config.files.html的描述,即从你的xml中删除这个属性并尝试再次运行。 -
我从 hbase-site.xml 中删除了
zookeeper.znode.parent(并且在 qorum 属性上仍然是 localhost),但它给了我同样的错误 -
好的解决了,我运行了 ./hbase-config.sh 和 ./zookeepers.sh 并解决了问题...谢谢您的帮助!
标签: java hbase apache-zookeeper