我是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 消失了。
如果有人帮忙找到解决这个问题的方法,我将不胜感激。
答案 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>