作为开始
一:部署源码阅读环境
部署源码阅读环境的意义在于阅读方便简洁,也可以在调试class文件的时候链接源码包
用的工具:eclipse、hadoop1.1.0、jdk1.7
操作系统:win7
1)安装eclipse;
2)安装JDK;
3)下载hadoop1.1.0并解压(http://archive.apache.org/dist/hadoop/core/hadoop-1.1.0/hadoop-1.1.0.tar.gz);
4)eclipse中新建工程,名字任取;
5)把hadoop文件夹中的src中的core、hdfs、mapred、tools复制到工程src目录下;
6)在工程property中的java build path下的Source中吧src删掉,添加src/core, src/hdfs....几个源码目录;
7)为Java Build Path添加项目依赖jar,可以导入Hadoop程序的lib下所有jar包(别漏掉其子目录jar包),导入ant程序lib下所有jar包;
8)现在报错为:
Access restriction: The method arrayBaseOffset(Class) from the type Unsafe is not accessible due to restriction on required library C:\Program Files\JDK\jre\lib\rt.jar xxx.java xxxx line 141 Java Problem
右键项目“propertiyes” > "Java Build Path" > "Libraries",展开"JRE System Library",双击"Access rules",点击"Add"按钮,在"Resolution"下拉框选择"Accessible","Rule Pattern"填写"**/*"
最后只有警告没有错误红叉就对了:
这个过程配置只是源码阅读环境,不是开发环境
二、仅靠自己伪四级的英语水平和不够入门的hadoop知识阅读源码还有点困难,所以借鉴了API辅助网站,觉得不错,推荐一下:http://www.apihome.cn/
个人认为这个网站不错,没有充斥着很多广告,不仅有各种语言各种平台系统软件的API解释,还有一些大平台的,比如支付宝、天猫、谷歌、百度等,甚是全。
有一点看不惯的就是上面中英文混的厉害,不知是装逼还是什么
之前想一个类一个类的看,然后写出来,但是后来发现太天真了
只有一个包一个包的看了
等我发工资了我就去买几本书看