【问题标题】:How to configure HBase in a HA mode?如何在 HA 模式下配置 HBase?
【发布时间】:2017-07-14 05:56:51
【问题描述】:

我不明白 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消失

这是我的日志/hbase-hadoop-master-nn1.log :
http://paste.openstack.org/show/549232/

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

【问题讨论】:

    标签: hadoop hbase hdfs hadoop2


    【解决方案1】:

    您应该在那里插入整个名称服务而不是具体的名称节点。我假设您只配置了一个名称服务。查看 hdfs-site.xml 中的 dfs.nameservices 属性。那里应该有类似“nameservice1”的东西。然后像这样更改 hbase.rootdir :

    <property>
      <name>hbase.rootdir</name>
      <value>hdfs://nameservice1:8020/hbase</value>
    </property>
    

    fs.defaultFS core-site.xml 中的属性也使用相同的符号)

    需要注意的一点是,hbase 应该可以使用 HA 访问最新的 hdfs 配置。否则它会抱怨名称服务名称。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 答案与 OP 的问题并不完全相符。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      相关资源
      最近更新 更多