Greetings- The question of HBase client remote configuration (i.e., the client is not running on the same machine as the HBase master) comes up periodically on these dist-lists and a common theme is a lack of documentation on exactly what it takes to configure a remote client connection.
After some trial and error, this seems to be the absolute minimum number of parameters required for connecting to a remote HBase instance (tested with HBase 0.20.3). HBaseConfiguration config = new HBaseConfiguration(); config.clear(); config.set("hbase.zookeeper.quorum", "server"); config.set("hbase.zookeeper.property.clientPort","2181"); This is consistent with other references to the importance of "hbase.zookeeper.quorum" except that we did this testing with the intent of connecting using only parameters set in code to eliminate any classpath issues with XML files. FYI... If the last parameter isn't set you'll get the following error.... could this be defaulted to a reasonable value? 10/03/09 10:04:55 ERROR zookeeper.ZooKeeperWrapper: no clientPort found in zoo.cfg Exception in thread "main" java.io.IOException: Could not read quorum servers from zoo.cfg at org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper.<init>(ZooKeeperWrapper.java:85) at org.apache.hadoop.hbase.client.HConnectionManager$ClientZKWatcher.getZooKeeperWrapper(HConnectionManager.java:223) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getZooKeeperWrapper(HConnectionManager.java:932) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:948) at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:625) Doug Meil Director of Engineering doug.m...@explorys.net