我按照此快速入门的说明操作,但无法在我的电脑中运行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"
答案 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
来启动服务器。