Not all region servers need to be part of the quorum. 

HBase is trying to connect to 127.0.0.1 for zookeeper. What is the value of 
hbase.zookeeper.quorum from your HBase configuration? 

Andrew

On 21 Nov 2010, at 18:22, Hari Sreekumar wrote:

> Hi,
>    Is it necessary that all RegionServers must also be part of the ZK
> Quorum? I have a 4 node cluster, with node hadoop1 being master and hadoop2,
> hadoop3 and ejabber being the slaves (Both in case of hadoop and for HBase).
> 
> When I keep only 3 nodes in the zookeeper.quorum property:
> <name>hbase.zookeeper.quorum</name>
> <value>hadoop1,hadoop2,hadoop3</value>
> 
> I get this exception for all tasks that run on ejabber(the 4th node):
> 
> 2010-11-21 23:35:47,785 INFO org.apache.zookeeper.ClientCnxn: Attempting
> connection to server localhost/127.0.0.1:2181
> 2010-11-21 23:35:47,790 WARN org.apache.zookeeper.ClientCnxn: Exception
> closing session 0x0 to sun.nio.ch.selectionkeyi...@7c2e1f1f
> java.net.ConnectException: Connection refused
>        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
>        at
> sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
>        at
> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:933)
> 2010-11-21 23:35:47,791 WARN org.apache.zookeeper.ClientCnxn: Ignoring
> exception during shutdown input
> java.nio.channels.ClosedChannelException
>        at
> sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:638)
>        at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:360)
>        at
> org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:999)
>        at
> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:970)
> 2010-11-21 23:35:47,791 WARN org.apache.zookeeper.ClientCnxn: Ignoring
> exception during shutdown output
> java.nio.channels.ClosedChannelException
>        at
> sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:649)
>        at sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:368)
>        at
> org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1004)
>        at
> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:970)
> 2010-11-21 23:35:47,925 WARN
> org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper: Failed to create /hbase
> -- check quorum servers, currently=localhost:2181
> org.apache.zookeeper.KeeperException$ConnectionLossException:
> KeeperErrorCode = ConnectionLoss for /hbase
>        at
> org.apache.zookeeper.KeeperException.create(KeeperException.java:90)
>        at
> org.apache.zookeeper.KeeperException.create(KeeperException.java:42)
>        at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:780)
>        at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:808)
>        at
> org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper.ensureExists(ZooKeeperWrapper.java:405)
>        at
> org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper.ensureParentExists(ZooKeeperWrapper.java:432)
>        at
> org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper.checkOutOfSafeMode(ZooKeeperWrapper.java:545)
> 
> When I add ejabber also to the ZK quorum and restart HBase, I don't get this
> exception. My understanding was that a small cluster like mine should only
> need one ZK machine.
> 
> Thanks,
> Hari

Reply via email to