如何为 Namenode 设置高可用性 - 第 5 部分
Hadoop有两个核心组件,分别是HDFS和YARN。 HDFS用于存储数据,YARN用于处理数据。 HDFS是Hadoop分布式文件系统,它有Namenode作为Master Service和Datanode作为从属服务。
Namenode是Hadoop的关键组件,它存储HDFS中存储的数据的元数据。如果Namenode出现故障,整个集群将无法访问,这是单点故障(SPOF)。因此,生产环境将具有Namenode高可用性,以避免如果一个Namenode由于机器崩溃、计划维护活动等各种原因发生故障而导致生产中断。
Hadoop 2.x提供了我们可以拥有两个Namenode的可行性,一个是活动Namenode,另一个是备用Namenode 。
- Active Namenode – 它管理所有客户端操作。
- 备用Namenode – 它是活动Namenode的冗余。如果活动NN发生故障,则备用NN将承担活动NN的所有责任。
启用Namenode高可用性需要Zookeeper,这是自动故障转移所必需的。 ZKFC(Zookeeper 故障转移控制器)是一个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高可用性。如果您在执行此过程时遇到任何错误,请提出您的疑问。我们将在下一篇文章中看到资源管理器高可用性。