元数据结构和 NameNode 一样的 AvatarNode,主备切换这块儿做得还挺有意思。FaceBook Hadoop的这个分支改得比较精悍,是基于官方 0.20-append 版本来的,兼容性和稳定性都还不错。和 0.21 版本比起来实现上会有点差异,不过不影响用。源码压缩包是facebook‐hadoop‐20‐append‐eaec342.tar.gz,起来清晰,代码注释也比较友好。

你要是做高可用 HDFS 相关的开发,这份精压版的文档看着还蛮舒服的,信息够全,重点也突出。像主备节点的继承关系、元数据一致性这些讲得都挺透。如果你对 NameNode 高可用方案感兴趣,还可以顺手看看文末的相关文章,都是实战向的资源。

不过要注意的是,FaceBook 这个分支虽然稳定,但毕竟跟官方版本不完全一致,做版本适配的时候记得多测试下。是要自己部署 HA 集群的时候,别忘了参考下原博客:Hadoop NameNode HA 博客,讲得还挺细。

如果你刚好在搞 Hadoop 的高可用,或者打算把现有集群升一下级,不妨把这个版本翻一翻,说不定能省不少踩坑时间。