Não foi possível iniciar o ZK na porta solicitada de 2181, enquanto exporta HBASE_MANAGES_ZK = false

8

Problema

O primeiro objetivo foi executar o HBase standalone. Navegar para ip: 60010 / master-status é bem sucedido assim que o HBase for iniciado.

O segundo objetivo é executar um quórum distinto do ZooKeeper. O ZooKeeper foi baixado e foi iniciado:

netstat -nato | grep 2181
tcp        0      0 :::2181                     :::*                        LISTEN      off (0.00/0/0)

O conf/hbase-env.sh foi alterado da seguinte forma:

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false

para evitar que o HBase inicie o ZooKeeper assim que o HBase for iniciado.

No entanto, o seguinte erro ocorre quando o HBase foi iniciado.

Could not start ZK at requested port of 2181.  ZK was started at port: 2182.  
Aborting as clients (e.g. shell) will not be able to find this ZK quorum.

Pergunta

Como desativar a inicialização do ZooKeeper pelo HBase e executar o ZooKeeper separadamente?

    
por 030 30.05.2014 / 11:52

1 resposta

9

De acordo com esta documentação , o arquivo /usr/lib/hbase/conf/hbase-site.xml precisa ser configurado da seguinte forma:

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
</configuration>

para evitar que o HBase gerencie seu próprio ZooKeeper.

Depois de configurar isso, os zookeeper-server e hbase-master foram iniciados independentemente.

    
por 03.06.2014 / 21:05