源码|HDFS之NameNode:创建文件(1)

namenode主要负责文件元信息的管理和文件到数据块的映射。有了源码|HDFS之NameNode:创建目录对创建目录过程中文件元信息操作的分析基础,就可以相对轻松的分析创建文件的流程了。

计划分三篇文章,分别分析创建文件节点(只涉及文件元信息)、添加数据块(涉及文件元信息、datanode交互)、完成文件(涉及文件元信息、datanode交互、容错性)三个子流程。仅“完成文件”子流程中涉及部分容错性的分析,即“文件创建成功后,部分数据块副本数低于最小副本系数”,其他容错性方案均需要客户端主导,统一放到对客户端的分析中讨论。

今天分析创建文件节点子流程。

more >>

源码|HDFS之DataNode:写数据块(1)

作为分布式文件系统,HDFS擅于处理大文件的读/写。这得益于“文件元信息与文件数据分离,文件数据分块存储”的思想:namenode管理文件元信息,datanode管理分块的文件数据。

HDFS 2.x进一步将数据块存储服务抽象为blockpool,不过写数据块过程与1.x大同小异。本文假设副本系数1(即写数据块只涉及1个客户端+1个datanode),未发生任何异常,分析datanode写数据块的过程。

more >>

Mac编译Hadoop源码

单纯看书翻源码非常枯燥,为了单步debug追Hadoop源码,最好先在部署环境编译一份源码,以避免各种环境问题。

本文记录了猴子在自己的Mac上编译Hadoop源码的过程,结合之前的一次编译经验,基本覆盖了编译Hadoop源码时可能遇到的主要问题。

more >>

我是猴子007,<br>一只非常特殊的动物,<br>可以从事程序的开发、维护,<br>经常因寻找香蕉或母猿而无心工作。