我不明白hbase-site.xml中的一个参数:
<property>
<name>hbase.rootdir</name>
<value>hdfs://hdfsHost:8020/hbase</value>
</property>
如果我们在HA模式下配置HDFS群集,我们必须在该参数中添加什么?我的意思是我们有2个名称节点(nn1,nn2)和2个数据节点(dn1,dn2)然后我们必须在“hbase.rootdir”参数中使用哪个节点?
最合乎逻辑的答案是当前处于活动状态的名称节点。但是如果我们将使用活动名称节点并且它失败,那么即使我们的nn2将其状态更改为活动状态,hbase集群也将变得不可用。 Hbase集群不会理解我们已经更改了我们的活动NN。
此外,我已使用以下参数配置HBase群集:
<property>
<name>hbase.rootdir</name>
<value>hdfs://nn1:8020/hbase</value>
</property>
不起作用。
1. HMaster开始了
2.我将“http://nn1:16010”放入浏览器中
3. HMaster消失
这是我的logs / hbase-hadoop-master-nn1.log:
http://paste.openstack.org/show/549232/
我在文档中找不到答案。请帮我查一下如何配置
答案 0 :(得分:1)
您应该在那里插入整个名称服务而不是具体的namenode。我假设您只配置了一个名称服务。查看hdfs-site.xml中的 dfs.nameservices 属性。应该有&#34; nameservice1&#34;在那里。然后像这样更改hbase.rootdir:
<property>
<name>hbase.rootdir</name>
<value>hdfs://nameservice1:8020/hbase</value>
</property>
(core-site.xml中的 fs.defaultFS 属性也使用相同的表示法)
需要注意的一点是,hbase应该可以使用HA访问最新的hdfs配置。否则会抱怨名称服务名称。
答案 1 :(得分:-2)
将hdfs-site.xml和core-site.xml复制到hbase / conf文件夹,这样您就不会看到您创建的HA名称服务的未知名称的错误。