2011-02-09 17 views
7

Estoy usando hbase-0.90.0. Lo estoy ejecutando en modo independiente. Al intentar ejecutar cualquier comando desde "hbase shell" me está dando el siguiente error.ZookeeperConnectionException en modo autónomo HBase

hbase (principal): 003: 0> Estado 'detallada'

ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.zookeeper.KeeperException $ ConnectionLossException: KeeperErrorCode = ConnectionLoss para/hbase

Soy nuevo en HBase. ¿Puedes ayudarme con este problema?

Gracias de antemano

Respuesta

2

Por una razón u otra Cliente su HBase no está hablando a Zookeeper. Simplemente tuve el mismo problema y el problema para mí fue que la configuración hbase (hbase-site.xml) tenía el puerto incorrecto para el cuidador del zoológico (el valor predeterminado es 2181 y alguien lo había configurado en 2182 incorrectamente). La configuración para usar zookeeper está en http://hbase.apache.org/book.html#zookeeper.

También verificando qué hbase y zookeeper piensan sus nombres y qué son en realidad. Un sospechoso habitual es que el archivo/etc/hosts tiene algunas entradas adicionales para localhost/127.0.0.1. Así que asegúrese de que su servidor local tiene solo una línea para localhost y ponga todos los alias para 127.0.0.1 en una sola línea en/etc/hosts

A veces tener las entradas ipv4 e ipv6 en localhost confunde las cosas, así que trate de comentar todo las entradas ipv6 (las que tienen dos puntos: 'en la dirección.)

+0

thx, funcionó 4 me :)) – zangeed

2

así que tuve exactamente el mismo problema y al cambiar el archivo/etc/hosts lo hice por mí. Lo cambié para que 'localhost' y mi nombre de host apuntaran a '127.0.0.1'

ver http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/19718 para más detalles.

+1

Woo hoo! Esto me solucionó el mismo problema. Bueno, mi problema era casi el mismo: estaba ejecutando la versión 0.90.4 de Hbase, y el mensaje de error exacto que recibí fue "ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase puede conectarse a ZooKeeper pero la conexión se cierra inmediatamente. Esto podría ser una señal de que el servidor tiene demasiadas conexiones (30 es el valor predeterminado) ". – Jeff

0

Tuve el mismo problema cuando inicié por primera vez el modo independiente HBase en mi Mac 10.9. Reparé varios parámetros, pero no estoy seguro de cuál funciona realmente. De todos modos, a continuación es el lugar en el que puedo hacer cambios:

  1. sudo nano /etc/hosts

    asegurarse de que sólo uno localhost, y es 127.0.0.1

  2. Editar hbase-site.xml

    <configuration> 
        <property> 
         <name>hbase.rootdir</name> 
         <value>file:///usr/local/hbase</value> 
        </property> 
        <property> 
         <name>hbase.zookeeper.property.dataDir</name> 
         <value>usr/local/zookeeper</value> 
        </property> 
        <property> 
         <name>hbase.zookeeper.property.clientPort</name> 
         <value>2181</value> 
        </property> 
    </configuration> 
    
  3. Editar hbase-env.sh

    export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home 
    (Warning: this path is the Java 1.6 path, seems that Java 1.7 does not support HBase) 
    
    export HBASE_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc=" 
    (fix realm issue) 
    

¡Y ahora estarás bien! ¡Buena suerte!

0

Me enfrenté al mismo problema. Para resolverlo, seguí los pasos a continuación.

  1. Editar hbase-env.sh

@rem The java implementation to use. Java 1.6 required. 
 
@rem set JAVA_HOME=c:\apps\java

  1. Editar hbase-site.xml

    <configuration> 
        <property> 
         <name>hbase.rootdir</name> 
         <!-- <value>hdfs://localhost:9000/hbase</value> --> 
         <!-- <value>hdfs://192.168.203.130:9000/hbase</value> --> 
         <value>/usr/local/hbase/hbase-0.98.5/hbase</value> 
         <description> The directory shared by RegionServers. </description> 
        </property> 
    
        <property> 
         <name>hbase.zookeeper.property.dataDir</name> 
         <!--<value>/tmp/zookeeper</value>--> 
         <value>/usr/local/hbase/hbase-0.98.5/zookeeper</value> 
         <!-- <value>/usr/local/zookeeper/zookeeper-3.4.6/export</value> --> 
         <description> 
          Property from ZooKeeper config zoo.cfg. 
          The directory where the snapshot is stored. 
         </description> 
        </property> 
    
        <property> 
         <name>hbase.zookeeper.property.clientPort</name> 
         <value>2181</value> 
        </property> 
    </configuration> 
    
  2. abierto Bashrc conjunto hbase PATH variable ambiental

#HBASE HOME <br> 
 
export HBASE_HOME=/usr/local/hbase/hbase-0.98.5 
 

 
export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

  1. Ejecutar Bashrc archivo

[email protected]:~$source ~/.bashrc

  1. Ejecutar start-hbase.sh comando en el terminal de

    [email protected]:~$ start-hbase.sh 
 
    [email protected]:~$ hbase shell 
 
    [email protected]:~$ list

Gracias