实现hadoop NN的HA自动容灾

本文详细介绍了如何配置和实现Hadoop NameNode的高可用性(HA),确保在主NameNode故障时能够自动切换到备用NameNode,从而保证集群的持续运行和服务不中断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现hadoop NN的HA自动容灾
--------------------------
0.介绍
[描述]
active宕机,无法实现状态切换,只能手动完成。

[组件]
添加两个新组建给hdfs部署。zk quorum + zkfailovercontroller(ZKFC).
故障检测 :每个NN都维护了一个和zk的session,如果nn宕机,session过期了。

通知对方NN触发容灾。


active NN推选 :zk提供简单机制能够排他性推选一个active节点。当前active宕机,对方
就可以得到一个排他锁,表示要成为下一个active.

zkfc监控和管理NN的状态,每台NN都运行了一个ZKFC,工作内容如下
1.Health monitoring
周期ping local NN的进程,做健康检查,NN如果进入不健康状态,监视器标记他为不健康。

2.ZooKeeper session management -
如果NN健康,zkfc持有一个zk的session。如果local NN是active,该session持有一把lock,该锁使用
的是zk支持的临时节点。如果session过期,锁节点自动删除。
3.ZooKeeper-based election
如果当前节点健康,zkfc就看到没有other NN上锁该节点,就获得上锁。如果成功,成为leader,运行
容灾,本地变成active,容灾过程类似于手动容灾:之前的保护起来,本地切换状态。

1.修改hadoop的配置模式为ha模式。
xchhadoop.sh ha

2.配置细节
[hdfs-site.xml]
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property
[core-site.xml]
<property>
<name>ha.zookeeper.quorum</name>
<value>s101:2181,s102:2181,s103:2181</value>
</property>
3.命令操作
3.1)在zk中初始化ha状态
hdfs zkfc -formatZK

3.2)启动集群

3.3)验证自动容灾

Yarn的RM配置HA
----------------
1.配置yarn-site.xml
<configuration>
			<property>
			  <name>yarn.resourcemanager.ha.enabled</name>
			  <value>true</value>
			</property>
			<property>
			  <name>yarn.resourcemanager.cluster-id</name>
			  <value>cluster1</value>
			</property>
			<property>
			  <name>yarn.resourcemanager.ha.rm-ids</name>
			  <value>rm1,rm2</value>
			</property>
			<property>
			  <name>yarn.resourcemanager.hostname.rm1</name>
			  <value>s100</value>
			</property>
			<property>
			  <name>yarn.resourcemanager.hostname.rm2</name>
			  <value>s104</value>
			</property>
			<property>
			  <name>yarn.resourcemanager.webapp.address.rm1</name>
			  <value>s100:8088</value>
			</property>
			<property>
			  <name>yarn.resourcemanager.webapp.address.rm2</name>
			  <value>s104:8088</value>
			</property>
			<property>
				  <name>yarn.resourcemanager.zk-address</name>
				  <value>s101:2181,s102:2181,s103:2181</value>
			</property>
			<property>
				<name>yarn.nodemanager.aux-services</name>
				<value>mapreduce_shuffle</value>
			</property>
		</configuration>


2.分发配置文件

3.启动yarn进程
start-yarn.sh

4.查看webui
http://s100:8088/
http://s104:8088/

5.杀死100的RM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值