Оболочка hbase не может использовать: ОШИБКА: KeeperErrorCode = NoNode для / hbase / master - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь установить hbase в режиме pseudo-distributed. Из-за этого вопроса я не могу сейчас использовать hbase. Каждый код в оболочке hbase не может быть запущен, и все они получают следующее сообщение об ошибке:

ОШИБКА: KeeperErrorCode = NoNode для / hbase / master

В моем Ubuntu 17 я установил hadoop, я уверен, что мое местоположение hdfs совпадает с моим hbase:

hdfs://localhost:9000

А это мой hbase-config в hbase-site.xml :

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

My hdfs-config in core-site.xml :

<configuration>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/hadoop/tmp</value>
    <description>A base for other tmp dir</description>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>

Я могу начать hbase, но через некоторое время HMaster пропало:

6737 DataNode
7749 HRegionServer
6582 NameNode
6968 SecondaryNameNode
7529 HQuorumPeer
9148 Jps

Вход в систему http://localhost:16010/master-status , мог видеть журнал:

Не удалось стать активным: процедура WAL полагается на возможность hsync для правильной работы во время сбоев компонента, но основная файловая система не поддерживает это. Пожалуйста, проверьте значение конфигурации 'hbase.procedure.store.wal.use.hsync', чтобы установить желаемый уровень надежности и убедиться, что значение конфигурации 'hbase.wal.dir' указывает на монтирование FileSystem, которое может его обеспечить. (с 2сек назад)

Ответы [ 2 ]

0 голосов
/ 07 августа 2019

Я также столкнулся с той же проблемой при использовании автономного режима HBase. jps может перечислить службу HMaster, но когда я запускаю 'hbase shell' и запускаю любую команду, она выбрасывает ERROR: KeeperErrorCode = NoNode for /hbase/master, и служба HMaster внезапно завершается. Таким образом, используя Hbase в псевдораспределенном режиме.

Я использую -

1: Hadoop - 3.2.0

2: Zookeeper - 3.5.5

3: HBase - 2.2.0

1: я изменил свойство ниже в hbase-env.sh, потому что я хочу использовать отдельный сервис ZK вместо встроенного в HBase -

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

2: изменен hbase-site.xml

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <property>
    <name>zookeeper.znode.parent</name>
    <value>/hbase</value>
  </property>
</configuration>

3: start-all.sh 4: zkServer.sh start 5: start-hbase.sh

5: jps может перечислять HMaster и HRegionServer

madhuri@**-****:$ jps
10688 HRegionServer
4194 DataNode
4019 NameNode
10532 HMaster
4468 SecondaryNameNode
10309 QuorumPeerMain
4902 NodeManager
11162 Main
11740 Jps
4718 ResourceManager
madhuri@**-****:$ 

6: Запрос HBase:

hbase(main):003:0> list
TABLE                                                                           
mytable                                                                         
1 row(s)
Took 0.0138 seconds                                                             
=> ["mytable"]
hbase(main):004:0> scan 'mytable'
ROW                   COLUMN+CELL                                               
 first                column=cf:message, timestamp=1565095359573, value=hello HB
                      ase                                                       
 second               column=cf:foo, timestamp=1565095375215, value=0           
 third                column=cf:bar, timestamp=1565095394172, value=3.14159     
3 row(s)
Took 0.0186 seconds                                                             
hbase(main):005:0> 

** Если все идет хорошо и все еще hbase shell требуется больше времени, чтобы вернуть результат, тогда, пожалуйста, перейдите в директорию ZK - у меня это /tmp/zookeeper (присутствует в файле zoo.cfg), удалите все и попробуйте перезапустить выше упомянутые услуги. Кажется, некоторые проблемы с ZK.

Надеюсь, это кому-нибудь поможет!

0 голосов
/ 27 сентября 2018

Убедитесь, что в вашем файле hbase-site.xml есть следующие 2 элемента.Устранение неполадок помогло мне решить эту проблему, когда я столкнулся с той же проблемой:

<configuration>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>

  <property>
    <name>zookeeper.znode.parent</name>
    <value>/hbase</value>
  </property>
</configuration>

Если проблема все еще не устранена, следите за записями в файлах журнала hbase.

...