我自己看过HDFS以及HDFS Raid的源码,其他的偶尔也看一下。
个人感觉大致以下一些步骤吧:
- 看官方网站的描述,知道项目的定位、功能、常见用例。
- 搜集文档,与项目相关的论文、整体架构文档、某些重要feature的文档等,如果你愿意像 @vczh 所说的那样email项目主要contributors要一些文档的话,也可以。另外,知名的hadoop和spark的技术博客一定不要错过,比如Yahoo!、Cloudera、Hortonworks、Databricks等的官方博客。对于不明白的feature,可以考虑先去StackOverflow上找找相关信息,给自己普及一下基础知识。
- 下载项目源码,看一下源码的layout,了解相关功能在哪个目录下。使用有效地IDE开始分析。
- 如果已有别人的源码分析,搞过来看看。比如HDFS、MR的分析已经有书存在了。
- 搭建一个单机的系统,run起来,看看日志,打开debug模式跟踪一下。
- 自己整理分析笔记之类的,输出有助于更好的思考。
ps:建议1,2先行。3,4,5可能需要交叉进行。
作者:知乎用户
链接:https://www.zhihu.com/question/24238887/answer/27166338
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转载于:https://blog.51cto.com/57388/2107665