执行hbase shell命令时,HMaster节点消失

时间:2015-07-22 17:42:24

标签: hbase hdfs apache-zookeeper ycsb

我是HBase的新手。我最近开始使用HBase,在我的Ubuntu服务器中,Standalone HBase与Zookeeper配合使用。然而,当我尝试使用Pseudo-Distributed Local时,它有一些奇怪的东西,我不明白。我已根据以下内容配置了HBase conf / hbase-site.xml

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

<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>

  

<name>hbase.zookeeper.property.dataDir</name>
<value>/home/username/zookeeper/new</value>

我已经为单分布式伪分布式操作集群设置了HDFS。最棘手的部分是当我运行HBase,ZooKeeper和Hadoop(HDFS)以及&#34; jps&#34;命令显示以下信息。

8998 HRegionServer

8066 ResourceManager

8229 NodeManager

7456 NameNode

7852 SecondaryNameNode

7045 QuorumPeerMain

9269 Jps

8815 HMaster

此外,执行&#34; hbase shell&#34;命令它要求hbase操作。 HBase的(主):001:0&GT;

然而,当我把&#34; list&#34;或者创建表命令,给它

错误:无法从ZooKeeper获取主地址; znode data == null

从hbase(main)退出后:001:0&gt;我明白了

8998 HRegionServer

8066 ResourceManager

8229 NodeManager

7456 NameNode

9656 Jps

7852 SecondaryNameNode

7045 QuorumPeerMain

下面,   8815 HMaster 消失了。

如果有人帮忙找到解决这个问题的方法,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

在hbase-env.sh文件中搜索test_port = Serializer(port = PORT),并确保将其设置为true:

HBASE_MANAGES_ZK

然后转到你的hbase-site.conf并让它知道运行Zookeeper的节点(它将显示为带有jps的QuorumPeer的一些变体):

export HBASE_MANAGES_ZK=true

如果仍然无效,请尝试将conf文件中的<property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> 切换为主机名(确保它位于计算机的/ etc / hosts文件中)。

答案 1 :(得分:1)

现在它可以正常使用以下配置文件。主要问题是端口号。

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>127.0.0.1</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2182</value>
</property>
<property>
    <name>hbase.master</name>
    <value>localhost:60010</value>
</property>