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
