HDFS Federation(联邦)相关知识,如 HDFS Router-based Federation
前言
在阅读一些 Hadoop3 新特性的文章中,我看到有提”多 NameNode”,然后简单某度搜索到的链接都是提 HDFS Federation(联邦)
下意识以为”多 NameNode”指的是 Federation 正式在 Hadoop3 上实现可用,在一次面试过程中跟面试官扯 Hadoop3 Federation 新特性,人家反问一句这不是 Hadoop2 就有了吗。。。我瞬间懵了。
事后回顾到才知道 HDFS RBF 才是 Hadoop3 Router-based Federation 新特性。”多 NameNode” 是指 HDFS HA 支持多 Standby 节点机制 HDFS-6440
在配置平衡策略时看到有个”BlockPool”,想到这是跟 Federation 有关,因此想整理一下对这方面的知识程度
HDFS Federation
对 Federation 学习个人大部分是通过以下链接学习了解,大家可以按链接顺序自行学习。
- HDFS Federation(联邦)简介
- 如何通过CM为HDFS启用Federation
- 如何通过CM禁用Federation
- HDFS Router-based Federation
- Router-Based HDFS Federation 在滴滴大数据的应用
- HDFS Router-based Federation 官方文档
- Apache Hadoop 的 HDFS federation 前世今生
由于 Router-based HDFS federation 还算比较新的特性,所以社区分了几个阶段修复或添加了一些新的功能,
社区在 2.9 和 3.0 版本中发布 HDFS RBF 方案解决统一命名空间问题,参见 HDFS-10467,
在 Apache Hadoop 3.2.0 版本修复或添加了一些功能,参见 HDFS-12615,
以及 Router-based HDFS federation 稳定性相关的 ISSUE HDFS-13891,
这个 ISSUE 可能会在 Apache Hadoop 3.3.0 版本发布(过往记忆大数据的Apache Hadoop 的 HDFS federation 前世今生文末提的。。。不知道会不会发布)。
小米在HDFS Router-based Federation文末提了 Rebalance 社区没有实现跨子集群的迁移。
翻看官方文档的确有提不支持跨子集群的迁移:
Some operations are not available in Router-based federation. The Router throws exceptions for those. Examples users may encounter include the following.
- Rename file/folder in two different nameservices.
- Copy file/folder in two different nameservices.
- Write into a file/folder being rebalanced.
但是跨集群的数据平衡已经在做了,可以参见 HDFS-13123。
小米自己也说内部实现了跨子集群的 Federation Rename,可以在未来将这一特性合并到社区的 Rebalance 方案中,期待ing。
参考链接