Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> Re: HBase is able to connect to ZooKeeper but the connection closes immediately


Copy link to this message
-
Re: HBase is able to connect to ZooKeeper but the connection closes immediately
Actually zookeeper servers have an active connections limit, which by
default is 30. You can increase this limit by setting maxClientCnxns
property accordingly in your zookeeper config file, zoo.cfg. For
example - maxClientCnxns=100....but before that copy the
hadoop-core-*.jar present inside hadoop folder to the hbase/lib
folder.Also copy commons-configuration-1.6.jar from hadoop/lib folder
to hbase/lib folder and check it once and see if it works for you.

Regards,
    Mohammad Tariq
On Thu, Jun 7, 2012 at 1:13 PM, Manu S <[EMAIL PROTECTED]> wrote:
> Hi All,
>
> Thank you for your reply.
>
> I tried all these options but still I am facing this issue.
>
> @Mayank: I tried the same, but still getting error.
> export
> HADOOP_CLASSPATH="/usr/lib/hadoop/:/usr/lib/hadoop/lib/:/usr/lib/hadoop/conf/"
> export
> HBASE_CLASSPATH="/usr/lib/hbase/:/usr/lib/hbase/lib/:/usr/lib/hbase/conf/:/usr/lib/zookeeper/:/usr/lib/zookeeper/conf/:/usr/lib/zookeeper/lib/"
> export CLASSPATH="${HADOOP_CLASSPATH}:${HBASE_CLASSPATH}"
>
> @Marcos & Tariq:
> We are using Hbase version 0.90.4
> Job creating single HBaseConfiguration object only
>
> @Kevin:
> No luck, same error
>
>
> Thanks,
> Manu S
>
> On Thu, Jun 7, 2012 at 3:50 AM, Mayank Bansal <[EMAIL PROTECTED]> wrote:
>
>>
>> zookeeper conf is not on the class path for the mapreduce job. Add conf
>>> file to class path for the job.
>>>
>>> Thanks,
>>> Mayank
>>>
>>>
>>> On Wed, Jun 6, 2012 at 7:25 AM, Manu S <[EMAIL PROTECTED]> wrote:
>>>
>>>> Hi All,
>>>>
>>>> We are running a mapreduce job in a fully distributed cluster.The output
>>>> of the job is writing to HBase.
>>>>
>>>> While running this job we are getting an error:
>>>>
>>>> *Caused by: org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information.*
>>>>     at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:155)
>>>>     at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1002)
>>>>     at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:304)
>>>>     at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:295)
>>>>     at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:157)
>>>>     at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:169)
>>>>     at org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTableFactory.java:36)
>>>>
>>>>
>>>> I had gone through some threads related to this issue and I modified the
>>>> *zoo.cfg* accordingly. These configurations are same in all the nodes.
>>>> Please find the configuration of HBase & ZooKeeper:
>>>>
>>>> Hbase-site.xml:
>>>>
>>>> <configuration>
>>>>
>>>> <property>
>>>> <name>hbase.cluster.distributed</name>
>>>> <value>true</value>
>>>> </property>
>>>>
>>>> <property>
>>>> <name>hbase.rootdir</name>
>>>> <value>hdfs://namenode/hbase</value>
>>>> </property>
>>>>
>>>> <property>
>>>> <name>hbase.zookeeper.quorum</name>
>>>> <value>namenode</value>
>>>> </property>
>>>>
>>>> </configuration>
>>>>
>>>>
>>>> Zoo.cfg:
>>>>
>>>> # The number of milliseconds of each tick
>>>> tickTime=2000
>>>> # The number of ticks that the initial
>>>> # synchronization phase can take
>>>> initLimit=10
>>>> # The number of ticks that can pass between
>>>> # sending a request and getting an acknowledgement
>>>> syncLimit=5
>>>> # the directory where the snapshot is stored.
>>>> dataDir=/var/zookeeper
>>>> # the port at which the clients will connect
>>>> clientPort=2181
>>>> #server.0=localhost:2888:3888