Hi Sanel Even if you could connect to the ZooKeeper and the HMaster, I think the RegionServers are gonna be the next you have to deal with.
When you try to get a row, the client will access to a RegionServer directly, which serving a region containing the row you want to retrieve. As far as I know, only an information of which RegionServer is serving the region is exchanged between a client and the HMaster, and actual data is done between a client and a RegionServer. With best regards, Koji. On 2010/10/06, at 21:29, Sanel Zukan <[email protected]> wrote: > Hi to all, > > I'm working on a program that is trying to connect to HBase cluster via > ssh tunneling feature. Basically, the cluster is set behind single > entry point (one machine protected with firewall from outside access) > and only ssh port allowed. > > ssh tunneling is done like this: > > ssh u...@host -L 60000:hmaster:60000 -L 2181:hmaster:2181 -N > > which basically means to start listening on 60000 and 2181 ports > (HMaster and ZK ports) and forward secured connection to HOST as 'user', > from where it is tunneled to 'hmaster' where HMaster and Zookeeper are > running. > > From application, I'm making connection like this: > > HBaseConfiguration conf = new HBaseConfiguration(); > conf.set("hbase.master", "localhost"); > conf.set("hbase.zookeeper.quorum", "localhost"); > > HBaseAdmin admin = new HBaseAdmin(conf); > > From here, connection to Zookeeper is made successfully, but connection > to HMaster is not, as code will try to use HMaster address fetched from > Zookeeper, which is 'hmaster' in this case, the name not visible and not > accessible outside cluster entry point. > > Does anyone knows (or maybe had a similar case) how to manually set > HMaster address, but keep connection to Zookeeper, as (seems to me) > 'hbase.master' value is ignored somehow? > > Thanks. > Sanel
