2016-08-04 65 views
1

不知从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/

我在文档中找不到答案。请帮助我了解如何配置它

回答

1

您应该在其中插入整个名称服务而不是具体的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配置。否则,它会抱怨名称服务名称。

-3

将hdfs-site.xml和core-site.xml复制到hbase/conf文件夹,这样您将看不到您创建的HA名称服务的未知名称的错误。

+1

答案并不符合OP的问题。 – Fabien