在hbase shell中执行任何命令时,我在hbase shell中收到以下错误“ERROR:KeeperErrorCode = 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命令时出现此错误的原因?
答案 0 :(得分:1)
对于我来说,我收到此“ 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”替换为“我的机器的主机名”来解决。来自这个answer
第二个:
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中的端口不同。
答案 1 :(得分:0)
首先,确保已在hosts文件中设置IP和主机名映射。
其次,修改HBase临时目录位置。临时目录数据将定期清空。临时目录的默认值位于/tmp
hbase-site.xml
<property>
<name>hbase.tmp.dir</name>
<value>/hbase/tmp</value>
<description>Temporary directory on the local filesystem.</description>
</property>
如果它不起作用。清理hbase数据目录,同样清理zookeeper重新启动hbase中的元数据。
更重要的是,检查你的ntp&amp;防火墙。
答案 2 :(得分:0)
将这些配置替换或添加到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>
答案 3 :(得分:0)
我知道它与spark不相关,但是我遇到了以下错误;
原因:java.io.IOException:org.apache.zookeeper.KeeperException $ NoNodeException:KeeperErrorCode = Nonode for / hbase / meta-region-server
由以下原因引起:org.apache.zookeeper.KeeperException $ NoNodeException:KeeperErrorCode = / hbase / meta-region-server的NoNode
由以下原因引起:org.apache.zookeeper.KeeperException $ NoNodeException:KeeperErrorCode = / hbase / hbasei的NoNode
设置 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中。
答案 4 :(得分:0)
面临类似的问题:请按照以下步骤操作
人们可能还会面临其他问题。在下面提到它们”