如何在HA模式下配置HBase?
问题描述:
不知从HBase的-site.xml中明白一个参数:如何在HA模式下配置HBase?
<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消失
这里是我的日志/ HBase的-Hadoop的主nn1.log:
http://paste.openstack.org/show/549232/
我在文档中找不到答案。请帮助我了解如何配置它
答
您应该在其中插入整个名称服务而不是具体的namenode。我假设你只配置了一个名称服务。查看hdfs-site.xml中的dfs.nameservices属性。那里应该有“nameservice1”之类的东西。然后换hbase.rootdir像这样:
<property>
<name>hbase.rootdir</name>
<value>hdfs://nameservice1:8020/hbase</value>
</property>
(fs.defaultFS核心-site.xml中属性也使用相同的符号)
有一点需要注意的是,HBase的应该访问HA的最新hdfs配置。否则,它会抱怨名称服务名称。
答
将hdfs-site.xml和core-site.xml复制到hbase/conf文件夹,这样您将看不到您创建的HA名称服务的未知名称的错误。
答案并不符合OP的问题。 – Fabien