无法在我的mac中运行hbase standalone

时间:2014-01-13 05:20:34

标签: hbase

我按照此快速入门的说明操作,但无法在我的电脑中运行hbase standalone。有人可以帮忙吗?感谢

http://hbase.apache.org/book/quickstart.html

这是日志:

2014-01-13 13:15:01,667 WARN  [main] zookeeper.ZKUtil: clean znode for master, quorum=localhost:2181, baseZNode=/hbase Unable to get data of znode /hbase/master
org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /hbase/master
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:127)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
    at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1151)
    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.getData(RecoverableZooKeeper.java:337)
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.getDataNoWatch(ZKUtil.java:777)
    at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.deleteIfEquals(MasterAddressTracker.java:170)
    at org.apache.hadoop.hbase.ZNodeClearer.clear(ZNodeClearer.java:160)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2779)
2014-01-13 13:15:01,669 ERROR [main] zookeeper.ZooKeeperWatcher: clean znode for master, quorum=localhost:2181, baseZNode=/hbase Received unexpected KeeperException, re-throwing exception
org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /hbase/master
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:127)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
    at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1151)
    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.getData(RecoverableZooKeeper.java:337)
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.getDataNoWatch(ZKUtil.java:777)
    at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.deleteIfEquals(MasterAddressTracker.java:170)
    at org.apache.hadoop.hbase.ZNodeClearer.clear(ZNodeClearer.java:160)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2779)
2014-01-13 13:15:01,669 WARN  [main] zookeeper.ZooKeeperNodeTracker: Can't get or delete the master znode
org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /hbase/master
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:127)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
    at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1151)
    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.getData(RecoverableZooKeeper.java:337)
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.getDataNoWatch(ZKUtil.java:777)
    at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.deleteIfEquals(MasterAddressTracker.java:170)
    at org.apache.hadoop.hbase.ZNodeClearer.clear(ZNodeClearer.java:160)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:138)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2779)

HBase的-site.xml中

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>file:///var/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/var/zookeeper</value>
  </property>

 <property>
      <name>hbase.zookeeper.property.clientPort</name>
      <value>2181</value>
  </property>

 <property>
    <name>hbase.zookeeper.quorum</name>
    <value>127.0.0.1</value>
    <description>The directory shared by RegionServers.
    </description>
  </property>

</configuration>

hbase-env.sh

export HBASE_OPTS="-XX:+UseConcMarkSweepGC"

3 个答案:

答案 0 :(得分:0)

在命令行上尝试使用jps命令来确定您的服务是否正在运行 您应该在那里看到Zookeeper,HBMaster和HBRegionServer

然后我会摆脱

<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/var/zookeeper</value>
  </property>

如果您没有安全值,则默认为安全值,并且您的ZK可能会以某种方式与此路径混淆。特别是你不清楚你是否使用PC的MAC,你提到两者。物理路径在PC上使用C:\ xxx \表示法,但在mac和linux上使用file:/// xxxxx /。

答案 1 :(得分:0)

HBase独立启动它是自己的zookeeper(如果运行`start-hbase.sh),但是如果无法启动或保持运行,则其他需要的hbase守护程序将无法工作。

确保在lo0文件中为接口hbase-site.xml明确设置属性:

<property>
  <name>hbase.zookeeper.dns.interface</name>
  <value>lo0</value>
</property>

<property>
  <name>hbase.regionserver.dns.interface</name>
  <value>lo0</value>
</property>

<property>
  <name>hbase.master.dns.interface</name>
  <value>lo0</value>
</property>

我发现,特别是在打开wifi时,如果缺少这些条目,则Zookeeper会开始启动。

答案 2 :(得分:-1)

我也收到了这个错误。我发现即使shell启动它并不意味着你有服务器运行,你仍然需要手动运行start-hbase.sh来启动服务器。