网站搜索

如何为 Namenode 设置高可用性 - 第 5 部分


Hadoop有两个核心组件,分别是HDFSYARNHDFS用于存储数据YARN用于处理数据HDFSHadoop分布式文件系统,它有Namenode作为Master ServiceDatanode作为从属服务

NamenodeHadoop的关键组件,它存储HDFS中存储的数据的元数据。如果Namenode出现故障,整个集群将无法访问,这是单点故障(SPOF)。因此,生产环境将具有Namenode高可用性,以避免如果一个Namenode由于机器崩溃、计划维护活动等各种原因发生故障而导致生产中断。

Hadoop 2.x提供了我们可以拥有两个Namenode的可行性,一个是活动Namenode,另一个是备用Namenode

  • Active Namenode – 它管理所有客户端操作。
  • 备用Namenode – 它是活动Namenode的冗余。如果活动NN发生故障,则备用NN将承担活动NN的所有责任。

启用Namenode高可用性需要Zookeeper,这是自动故障转移所必需的。 ZKFCZookeeper 故障转移控制器)是一个Zookeeper客户端,用于维护Namenode的状态。

要求

  • 在 CentOS/RHEL 7 上部署 Hadoop 服务器的最佳实践 – 第 1 部分
  • 设置 Hadoop 先决条件和安全强化 – 第 2 部分
  • 如何在 CentOS/RHEL 7 上安装和配置 Cloudera Manager – 第 3 部分
  • 如何在 CentOS/RHEL 7 上安装 CDH 并配置服务放置 – 第 4 部分

在本文中,我们将在 Cloudera Manager 中启用 Namenode 高可用性

第一步:安装Zookeeper

1.登录Cloudera Manager

http://Your-IP:7180/cmf/home

2.集群 (howtoing)操作提示中,选择“添加服务”。

3.选择服务“Zookeeper”。

4.选择我们要安装Zookeeper的服务器。

5. 我们将有 3 位 Zookeeper 来组成 Zookeeper 法定人数。如下所述选择服务器。

6.配置Zookeeper属性,这里我们使用默认的。实时地,您必须有单独的目录/挂载点来存储 Zookeeper 数据。在第 1 部分中,我们解释了每个服务的存储配置。单击“继续”继续。

7.安装将开始,安装后Zookeeper将启动。您可以在这里查看后台操作。

8.成功完成上述步骤后,状态将为“已完成”。

9. 现在,Zookeeper 已成功安装和配置。单击“完成”。

10.您可以在Cloudera Manager仪表板上查看Zookeeper服务。

第2步:启用Namenode高可用性

11.转到Cloudera Manager –> HDFS –> 操作 –> 启用高可用性强>。

12.输入Nameservice名称为“nameservice1”——这是活动和备用Namenode的通用命名空间。

13. 选择我们将拥有备用Namenode第二个Namenode

14.这里我们选择master2.howtoing.com作为备用Namenode

15.选择Journal节点,这些是同步Active和备用Namenode的必需服务。

16.我们正在通过将Journal节点放置在3台服务器中来制作Quorum Journal,如下所述。选择 3 个服务器并单击“确定”。

17.点击“继续”继续。

18. 输入日志节点目录路径。只是我们需要在安装时提及路径,该目录将由服务本身自动创建。我们提到的是‘/jn’。单击“继续”继续。

19.它将开始启用高可用性

20.完成所有后台进程后,我们将获得“已完成”状态。

21.最后,我们将收到一条通知“成功启用高可用性”。单击“完成”。

22.通过转到Cloudera Manager –> HDFS验证活动备用Namenode > –> 实例

23.在这里,您可以看到两个Namenode,一个处于“Active”状态,另一个处于“Standby”状态'状态。

结论

在本文中,我们逐步完成了启用 Namenode 高可用性的过程。强烈建议在实时环境中的所有集群中都具有Namenode高可用性。如果您在执行此过程时遇到任何错误,请提出您的疑问。我们将在下一篇文章中看到资源管理器高可用性