Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何在HA模式下配置HBase?_Hadoop_Hbase_Hdfs_Hadoop2 - Fatal编程技术网

Hadoop 如何在HA模式下配置HBase?

Hadoop 如何在HA模式下配置HBase?,hadoop,hbase,hdfs,hadoop2,Hadoop,Hbase,Hdfs,Hadoop2,我不理解hbase-site.xml中的一个参数: <property> <name>hbase.rootdir</name> <value>hdfs://hdfsHost:8020/hbase</value> </property> 如果我们在HA模式下配置HDFS集群,我们必须在该参数中添加什么?我的意思是,我们有两个名称节点nn1、nn2和两个数据节点dn1、dn2,那么我们必须在hbase.rootdir参

我不理解hbase-site.xml中的一个参数:

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://hdfsHost:8020/hbase</value>
</property>
如果我们在HA模式下配置HDFS集群,我们必须在该参数中添加什么?我的意思是,我们有两个名称节点nn1、nn2和两个数据节点dn1、dn2,那么我们必须在hbase.rootdir参数中使用哪个节点

最符合逻辑的答案是当前处于活动状态的名称节点。但是,如果我们将使用活动名称节点,但它失败了,那么即使我们的nn2将其状态更改为活动,hbase群集也将不可用。Hbase群集将无法理解我们已更改了活动NN

此外,我已使用以下参数配置了HBase群集:

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://nn1:8020/hbase</value>
</property>
它不起作用。 1.HMaster开始 2.我把它放进浏览器 3.赫马斯特消失了

这是我的日志/hbase-hadoop-master-nn1.log:


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

您应该在那里插入整个nameservice,而不是具体的namenode。我假设您只配置了一个名称服务。查看hdfs-site.xml中的dfs.nameservices属性。里面应该有类似nameservice1的东西。然后更改hbase.rootdir,如下所示:

<property>
  <name>hbase.rootdir</name>
  <value>hdfs://nameservice1:8020/hbase</value>
</property>
core-site.xml中的fs.defaultFS属性也使用相同的表示法


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

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

答案与OP的问题不符。