【问题标题】:Can't connect to zookeeper and then hbase master shuts down无法连接zookeeper然后hbase master关闭
【发布时间】: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


【解决方案1】:

如果您在独立模式下使用 HBase,您甚至不需要所有这些属性..虽然,伪或完全分布式模式需要额外设置..通过查看您的配置道具,我假设您正在使用HBase 在本地模式。所以你可以跳过所有这些东西。而对于伪分布式模式,HBase 的默认 ZK 就足够了。

【讨论】:

    猜你喜欢
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    相关资源
    最近更新 更多