HDFS HA 过程、架构、zookeeper如何实现自动故障转移

1)HDFS HA 之所以有这么方案,是因为在hadoop1中的hdfs中只存在1个namenode,当namenode出现故障时,整个集群都会受到影响甚至歇菜,所以hadoop在2.0以后推出了HA方案。

2)这个方案准备了2个namenode,一个active的namenode和一个standby的namenode,active的负责所有对外操作,standby的只是作为一个备份,当active的出现故障以后,standby顶上保证整个集群的运转。

3)为了保证standby和active之间能互相替换,两者之间内容必须一致,所以2.0以后给两者提供了一个叫做JNS的互相独立的进程,active进行的所有改变,都会持久化记录到JNS中。standby观察到JNS发生改变时,会把这些改变应用到自己身上,并持续观察。当故障发生时,standby切换成active,在故障发生之前两者的内容必须保持完全一致。

4)为了保证两者的block的信息都是最新的,在datenode中配置了两个namenode,通过心跳机制同时向两个namenode汇报block的有效信息

5)为了保证只有一个active状态的namenode,不然两个namenode同时写入,会造成数据的异常或丢失,这种情况叫做“脑裂”,一方面JNS只允许一个active进行写入操作,另一方面在JNS中会有一个防护进程,当故障转移时,不确认之前的active是否停止,这个进程会主动进行切断之前的active。

 

6)集群启动后一个namenode是active状态的,负责客户端的操作,以及负责将editlog存储到本地和JNS上;standby会持续观察JNS的edit

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值