I'm new to HBase, and need a little guidance. I've set up a 6-node cluster,
with 3 nodes
running the ZooKeeper server. The database seems to be working from the hbase
shell; I can create tables, insert,
scan, etc.
But when I try to perform operations in a Java app, I hang at:
13/07/09 12:40:34 INFO zookeeper.ZooKeeper: Initiating client connection,
connectString=cas-2:2181,cas-1:2181,cas-3:2181 sessionTimeout=90000
watcher=hconnection-0x6833f0de
13/07/09 12:40:34 INFO zookeeper.RecoverableZooKeeper: Process
identifier=hconnection-0x6833f0de connecting to ZooKeeper
ensemble=cas-2:2181,cas-1:2181,cas-3:2181
13/07/09 12:40:34 INFO zookeeper.ClientCnxn: Opening socket connection to
server cas-1/10.4.0.1:2181. Will not attempt to authenticate using SASL (Unable
to locate a login configuration)
13/07/09 12:40:34 INFO zookeeper.ClientCnxn: Socket connection established to
cas-1/10.4.0.1:2181, initiating session
13/07/09 12:40:34 INFO zookeeper.ClientCnxn: Session establishment complete on
server cas-1/10.4.0.1:2181, sessionid = 0x13fa5b5096e001f, negotiated timeout =
40000
13/07/09 12:40:34 INFO client.ZooKeeperRegistry: ClusterId read in ZooKeeper is
null
The Java code is nothing more than:
Configuration hConf = HBaseConfiguration.create();
hConf.set("hbase.zookeeper.quorum", "cas-1,cas-2,cas-3");
hConf.set("hbase.zookeeper.property.clientPort", "2181");
HTable hTable = new HTable(hConf, "tablename");
a thread dump shows the app blocked:
"main" prio=10 tid=0x00007f1424009000 nid=0x2976 waiting on condition
[0x00007f142a0c3000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at
org.apache.hadoop.hbase.zookeeper.ZKUtil.blockUntilAvailable(ZKUtil.java:1772)
at
org.apache.hadoop.hbase.zookeeper.MetaRegionTracker.blockUntilAvailable(MetaRegionTracker.java:175)
at
org.apache.hadoop.hbase.client.ZooKeeperRegistry.getMetaRegionLocation(ZooKeeperRegistry.java:58)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:806)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:896)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:809)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:778)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:245)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:186)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:147)
Any suggestions as to the cause?
TIA
Brian