Hi Hari,

You are missing the quorum setting. It seems the hbase-site.xml is missing from 
the classpath on the clients. Did you pack it into the jar?

And yes, even one ZK server is fine in such a small cluster. 

You can see it is trying to connect to localhost which is the default if the 
site file is missing. 

Regards,
Lars

On Nov 21, 2010, at 19:22, Hari Sreekumar <[email protected]> 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