hbase error“错误:keeperrorcode=nonode for/hbase/master”

6ovsh4lw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(5)|浏览(2143)

在hbase shell中执行任何命令时,我在hbase shell中收到以下错误“error:keeperrorcode=nonode for/hbase/master”。
已启动hbase:

HOSTCHND:hbase-2.0.0 gvm$ ./bin/start-hbase.sh
    localhost: running zookeeper, logging to /usr/local/Cellar/hbase-2.0.0/bin/../logs/hbase-gvm-zookeeper-HOSTCHND.local.out
    running master, logging to /usr/local/Cellar/hbase-2.0.0/logs/hbase-gvm-master-HOSTCHND.local.out
    : running regionserver, logging to /usr/local/Cellar/hbase-2.0.0/logs/hbase-gvm-regionserver-HOSTCHND.local.out

在hbase shell中检查状态时:

hbase(main):001:0> status

    ERROR: KeeperErrorCode = NoNode for /hbase/master

    Show cluster status. Can be 'summary', 'simple', 'detailed', or 'replication'. The
    default is 'summary'. Examples:

    hbase> status
    hbase> status 'simple'
    hbase> status 'summary'
    hbase> status 'detailed'
    hbase> status 'replication'
    hbase> status 'replication', 'source'
    hbase> status 'replication', 'sink'

   Took 9.4096 seconds                                                             
   hbase(main):002:0>

hbase-site.xml文件

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/Cellar/hbase-2.0.0/hbasestorage/zookeeper</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
</property>
</configuration>

请告诉我为什么在执行hbase命令时发生此错误?

46scxncf

46scxncf1#

在我的情况下,我收到了这个“ ERROR: KeeperErrorCode = NoNode for /hbase/master “因为hmaster进程没有运行。
核对 jps 命令。

hdusr@hdp-master-1:$ jps
27504 Main
32755 DataNode
23316 HQuorumPeer
27957 Jps
646 SecondaryNameNode
27097 HMaster
23609 HRegionServer
1562 Master
1722 Worker
911 ResourceManager
32559 NameNode
1167 NodeManager

如果您没有看到上面列表中的hmaster进程,那么这就是 ERROR: KeeperErrorCode = NoNode. 在hbase shell中。
$HBASE_HOME/logs 目录检查 hbase-***-master.log 对于特定错误。
对我来说有两个原因,
第一:

WARN  [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection timed out

我通过在hbase-site.xml中将“localhost”替换为“my machine's hostname”来解决这个问题。从这个答案
第二:

ERROR [master/spark-hdp-master-1:16000:becomeActiveMaster] master.HMaster: Failed to become active masterorg.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled.  Available:[TOKEN]

这是因为hbase-site.xml中的hdfs端口与hadoop的core-site.xml中的hdfs端口不同。

rkttyhzu

rkttyhzu2#

首先,确保在hosts文件中设置了ip和主机名Map。
其次,修改hbase临时目录位置。临时目录数据将定期清空。临时目录的默认值为 /tmp 把它们换成 hbase-site.xml ```

hbase.tmp.dir
/hbase/tmp
Temporary directory on the local filesystem.

如果不行的话。清理hbase数据目录,同时清理zookeeper中的元数据,重新启动hbase。
此外,请检查您的ntp和防火墙。
lawou6xi

lawou6xi3#

遇到了类似的问题:请遵循以下步骤
人们还可能面临其他问题。在下面提到他们”
设置zookeeper:https://www.tutorialspoint.com/zookeeper/zookeeper_installation.htm
可能会面临权限问题,因此将chmod-r 777分配给/tmp/zookeeper、/usr/local/var/hbase、/usr/local/celll/hbase
在bin/zoo.cfg中添加admin.enableserver=false以避免地址绑定异常
尝试在没有sudo的情况下运行hbase和zookeeper。

waxmsbnn

waxmsbnn4#

我知道这与Spark无关,但我有以下错误;
原因:java.io.ioexception:org.apache.zookeeper.keeperexception$nonodeexception:keeperrorcode=nonode for/hbase/meta region server
原因:org.apache.zookeeper.keeperexception$nonodeexception:keepererrorcode=nonode for/hbase/meta region server
原因:org.apache.zookeeper.keeperexception$nonodeexception:keepererrorcode=nonode for/hbase/hbasei
设置hbase.rootdir配置解决了我在创建hbasecontext时遇到的问题;

val config = HBaseConfiguration.create
config.set("hbase.zookeeper.quorum", "addresses")
config.setInt("hbase.zookeeper.property.clientPort", port)

config.set("hbase.rootdir","/apps/hbase/data") // adding this one resolves my problems

val hbaseContext = new HBaseContext(sc, config)

因此,您可以尝试将该配置添加到hbase-site.xml中。

0s0u357o

0s0u357o5#

将这些配置替换或添加到hbase dir的conf文件夹中的hbase-site.xml文件中,然后重新运行“hbase shell”命令,然后再运行“list”命令以查看存在的表。

<?xml version="1.0" encoding="utf-8" ?>

<!--Keeper Error fix-->
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:8020/hbase</value>
    </property>
        <property>
        <name>hbase.zookeeper.quorum</name>
        <value>localhost</value>
    </property>
        <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2182</value>
    </property>
            <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/var/lib/hbase/zookeeper</value>
    </property>
</configuration>

相关问题