Как решить проблему «Отказ в соединении zookeeper.ClientCnxn» в Hbase? - PullRequest
0 голосов
/ 21 июня 2019

Hbase версия 2.2.0, она работает в Ubuntu 16.04 LTS.

Когда я беру Hbase в автономном режиме, фактически в любом другом режиме, я получаю сообщение об ошибке «Отказ в соединении», как показано ниже

2019-06-22 00:28:12,804 INFO  [main-SendThread(127.0.0.1:2181)] zookeeper.ClientCnxn: Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2019-06-22 00:28:12,804 WARN  [main-SendThread(127.0.0.1:2181)] zookeeper.ClientCnxn: Session 0x16b7adc2ad80001 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)

Это всегда повторяется снова и снова.

Мой hbase-site.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

     <property>
       <name>hbase.rootdir</name>
       <value>file:///usr/local/hbase/tmp/data</value>
     </property>

     <property>
       <name>hbase.cluster.distributed</name>
       <value>false</value>
     </property>

</configuration>

И файл 'hbase-env.sh', который я только что настроил JAVA_HOME и HBASE_MANAGES_ZK:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_MANAGES_ZK=true

Я не могу найти свою ошибку конфигурации. Когда я набираю команду start-hbase.sh, я вижу «Hbase DATA in Hbase home» и HMaster, уже запущенные при вводе команды «jps».

Но, когда я набираю hbase shell, мне не удается подключиться.

Я не могу найти какие-либо пути решения в master-log, потому что он всегда повторяет «Отказ в соединении».

Не могу понять, где проблема.

1 Ответ

1 голос
/ 22 июня 2019

Я решил эту проблему. Конкретная причина в том, что моя библиотека 'hbase' зависит от 'hadoop', версия 2.8.5, а моя развернутая версия 'hadoop' - 3.1.0. Таким образом, это приводит к тому, что hflush / hsync из hbase не поддерживается.

Решения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...