I’m trying to run the standalone HBase with the Zookeeper that it launches, on
a Mac
I’ve carefully gone through the quickstart and get the error below. I’ve also
done the following things to try to resolve this.
1) According to the Hbase quickstart the dataDir is supposed to not exist so
Hbase won’t do a migration and so I’ve tried with an empty one and a
non-existent dataDir, same error. Also the default is to use /tmp/… which is
fine no specified hbase.zookeeper.property.dataDir too but no help.
2) HBASE_MANAGES_ZK was unset but is defaulted to true, setting it explicitly
to true gives the same error.
3) Some suggestions tell you to remove any ipv6 references to localhost in
/etc/hosts so I did that to no avail.
4) zookeeper is never launched by hbase from the output of jps -l.
When I launch the HBase shell and run “help” is works but when I run “status”
it throws and exception.
[ERROR] [RecoverableZooKeeper] ZooKeeper exists failed after 1 attempts
[ERROR] [ZooKeeperWatcher] hconnection-0x3bb25aa6, quorum=localhost:2181,
baseZNode=/hbase Received unexpected KeeperException, re-throwing exception
[WARN] [ZooKeeperRegistry] Can't retrieve clusterId from Zookeeper
[ERROR] [StorageClient] Cannot connect to ZooKeeper (ZooKeeper ensemble:
localhost). Please make sure that the configuration is pointing at the correct
ZooKeeper ensemble. By default, HBase manages its own ZooKeeper, so if you have
not configured HBase to use an external ZooKeeper, that means your HBase is not
started or configured properly.
[ERROR] [Storage$] Error initializing storage client for source HBASE
[ERROR] [Storage$] Can't connect to ZooKeeper
io.prediction.data.storage.StorageClientException: Data source HBASE was not
properly initialized.
at
io.prediction.data.storage.Storage$$anonfun$9.apply(Storage.scala:182)
at
io.prediction.data.storage.Storage$$anonfun$9.apply(Storage.scala:182)
at scala.Option.getOrElse(Option.scala:120)
at io.prediction.data.storage.Storage$.getDataObject(Storage.scala:181)
at io.prediction.data.storage.Storage$.getDataObject(Storage.scala:166)
at io.prediction.data.storage.Storage$.getLEvents(Storage.scala:274)
at
io.prediction.data.storage.Storage$.verifyAllDataObjects(Storage.scala:240)
at io.prediction.tools.console.Console$.status(Console.scala:968)
at
io.prediction.tools.console.Console$$anonfun$main$1.apply(Console.scala:611)
at
io.prediction.tools.console.Console$$anonfun$main$1.apply(Console.scala:573)
at scala.Option.map(Option.scala:145)
at io.prediction.tools.console.Console$.main(Console.scala:573)
at io.prediction.tools.console.Console.main(Console.scala)
All the log output says is:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/Users/pat/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/Users/pat/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings
<http://www.slf4j.org/codes.html#multiple_bindings> for an explanation.
[WARN] [NativeCodeLoader] Unable to load native-hadoop library for your
platform... using builtin-java classes where applicable
[INFO] [log] Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via
org.mortbay.log.Slf4jLog
[INFO] [log] jetty-6.1.26
[INFO] [log] Started [email protected]
<mailto:[email protected]>:61342
[INFO] [log] jetty-6.1.26
[INFO] [log] Started [email protected]
<mailto:[email protected]>:60010
[FATAL] [HMaster] Unhandled exception. Starting shutdown.
[INFO] [log] Stopped [email protected]
<mailto:[email protected]>:60010