Hi Ted, I got our HBase test cluster set up and encountered the same problems you did at first, but I've got it working now. Here's what I found out (I have updated the wiki accordingly).
1. You MUST use the same HBase version consistently for client and server. Most likely this is your problem. I was initially trying with an 0.20.4-dev version on the cluster and 0.20.3 on the Hive client, and consistently getting MasterNotRunningException. Then I rebuilt the handler against 0.20.4-dev and ran with that, and problem solved. So delete the jars from hbase-handler/lib, replace them with the ones which correspond to your HBase version, and then run ant clean and ant package again. (If you get build failures, you'll have to upgrade your HBase cluster or figure out how to make the handler backward compatible.) Browsing the HBase JIRA, I found that the RPC protocol has changed quite a bit, so I guess this is the reason for the incompatibilities (it would be nice if the handshake failed fast with an accurate error message instead of saying that the master is not running when in fact it is). 2. The only configuration necessary is to set hbase.zookeeper.quorum. Do not set hbase.master for talking to a cluster. And you don't need to set hbase.zookeeper.property.clientPort (assuming you are using the default on the zookeeper servers). 3. Make sure there is no firewall weirdness in between client and server. I hit this when I tested from my laptop over VPN to the cluster. In the firewall case, MasterNotRunningException had null for its message, whereas in the inconsistent client/server version case, MasterNotRunningException had the correct IP:port for its message. Let me know how it goes. JVS
