HDFS高可用原理,个人理解嘿嘿嘿
2017-05-30 19:47
183 查看
HDFS的高可用性将通过在同一个集群中运行两个NN(active NN & standby NN)来解决上面两个问题,
这种方案允许在机器破溃或者机器维护快速地启用一个新的NN来恢复故障,
为了让Standby NN的状态和Active NN保持同步,
即元数据保持一致,
它们都将会和JournalNodes守护进程通信。
当Active NN执行任何有关命名空间的修改,
它需要持久化到一半以上的JournalNodes上(通过edits log持久化存储),
而Standby NN负责观察edits log的变化,它能够读取从JNs中读取edits信息,
并更新其内部的命名空间。一旦Active NN出现故障,Standby NN将会保证从JNs中读出了全部的Edits,
然后切换成Active状态。Standby NN读取全部的edits可确保发生故障转移之前,是和Active NN拥有完全同步的命名空间状态。
为了提供快速的故障恢复,Standby NN也需要保存集群中各个文件块的存储位置。
为了实现这个,集群中所有的Database将配置好Active NN和Standby NN的位置,
并向它们发送块文件所在的位置及心跳。
总结完毕,不知道有没有帮助到你对hdfs高可用的理解呢?
这种方案允许在机器破溃或者机器维护快速地启用一个新的NN来恢复故障,
为了让Standby NN的状态和Active NN保持同步,
即元数据保持一致,
它们都将会和JournalNodes守护进程通信。
当Active NN执行任何有关命名空间的修改,
它需要持久化到一半以上的JournalNodes上(通过edits log持久化存储),
而Standby NN负责观察edits log的变化,它能够读取从JNs中读取edits信息,
并更新其内部的命名空间。一旦Active NN出现故障,Standby NN将会保证从JNs中读出了全部的Edits,
然后切换成Active状态。Standby NN读取全部的edits可确保发生故障转移之前,是和Active NN拥有完全同步的命名空间状态。
为了提供快速的故障恢复,Standby NN也需要保存集群中各个文件块的存储位置。
为了实现这个,集群中所有的Database将配置好Active NN和Standby NN的位置,
并向它们发送块文件所在的位置及心跳。
总结完毕,不知道有没有帮助到你对hdfs高可用的理解呢?
相关文章推荐
- Java编程语言跨平台的原理 之个人理解
- 进制->原理本质(个人理解)
- 进制->原理本质/加法乘法表(个人理解)
- 对Flush原理的个人理解
- Ambari—HDFS配置NameNode HA高可用原理和操作步骤(一)
- 理解回调函数与jsonp的原理(个人理解)
- 计算机原理-(个人理解-未完善)
- Unix/Linux fork() 函数一次调用2次返回实现原理(个人理解仅供参考)
- EGOTableViewPullRefresh个人理解代码原理和使用
- 我的mqtt协议和emqttd开源项目个人理解(10) - 建立高可用集群
- nodejs导出模块功能原理的个人理解
- XGBoost原理介绍------个人理解版
- [转]关于内存地址的个人理解和操作原理
- 软件测试行业的个人理解 6 - 浅谈自动化测试原理
- 深入理解HDFS的架构和原理
- 关于zookeeper选举leader原理及自定义leader个人理解和总结
- [GEF原理]个人理解
- 哈希表的原理个人理解与浅析
- 数据库索引原理的个人理解