Instead of specifying an ip address can you specify an internal dns name and only map that name to the internal ip? Dave
-----Original Message----- From: Da Zheng [mailto:[email protected]] Sent: Wednesday, November 10, 2010 10:24 PM To: [email protected] Subject: specify the IP address of the master node Hello, I tried to setup HBase on 3 nodes. One of them has two network interface, one has public IP address and the other has private address. The other two nodes are inside a private network, so they cannot connect to the public address of the first node. I set the first node (with two interfaces) as the master server, the other two as region servers. The problem now is that the zookeeper keeps giving the public IP address of the master node to the two other nodes and thus HBase fails to run. The error is shown below. Is there any way I can specify the IP address of the master node myself? I tried hbase.master.info.bindAddress but it doesn't work. I searched hbase-default.xml, but cannot find anything close. 2010-11-11 00:10:17,339 DEBUG org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper: Set watcher on master address ZNode /hbase/master 2010-11-11 00:10:17,489 DEBUG org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper: Read ZNode /hbase/master got 128.220.233.214:60000 2010-11-11 00:10:17,489 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Telling master at 128.220.233.214:60000 that we are up 2010-11-11 00:10:17,734 WARN org.apache.hadoop.hbase.regionserver.HRegionServer: Unable to connect to master. Retrying. Error was: java.net.SocketException: Network is unreachable at sun.nio.ch.Net.connect(Native Method) at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:507) at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:404) at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:308) at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:844) at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:716) at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:333) at $Proxy0.getProtocolVersion(Unknown Source) at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:489) at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:465) at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:512) at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:423) at org.apache.hadoop.hbase.regionserver.HRegionServer.getMaster(HRegionServer.java:1299) at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:1317) at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:434) at java.lang.Thread.run(Thread.java:662) Best, Da
