无法在我的mac中运行hbase standalone

zjf*_*fdu 6 hbase

我按照这个快速入门的说明,但无法在我的电脑上运行hbase独立.有人可以帮忙吗?谢谢

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)
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

hbase-env.sh

export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
Run Code Online (Sandbox Code Playgroud)

MrE*_*MrE 0

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

然后我会摆脱

<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/var/zookeeper</value>
  </property>
Run Code Online (Sandbox Code Playgroud)

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