我是靠谱客的博主 文静抽屉,最近开发中收集的这篇文章主要介绍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是否停止,这个进程会主动进行切断之前的ac

最后

以上就是文静抽屉为你收集整理的HDFS HA 过程、架构、zookeeper如何实现自动故障转移的全部内容,希望文章能够帮你解决HDFS HA 过程、架构、zookeeper如何实现自动故障转移所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部