我们如果想搞开发,研究源码对我们的帮助很大。不明白原理就如同黑盒子,遇到问题,我们也摸不着思路。所以这里交给大家
一.如何获取源码
二.如何关联源码
一.如何获取源码
1.下载hadoop的maven程序包
(1)官网下载
这里我们先从官网上下载maven包hadoop-2.4.0-src.tar.gz。
官网下载地址
对于不知道怎么去官网下载,可以查看: 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍
(2)网盘下载
也可以从网盘下载:
http://pan.baidu.com/s/1kToPuGB
2.通过maven获取源码
获取源码的方式有两种,一种是通过命令行的方式,一种是通过eclipse。这里主要讲通过命令的方式
通过命令的方式获取源码:
1.解压包
解压包的时候遇到了下面问题。不过不用管,我们继续往下走
2.通过maven获取源码
这里需要说明的是,在使用maven的时候,需要先安装jdk,protoc ,如果没有安装可以参考 win7如何安装maven、安装protoc
(1)进入hadoop-2.4.0-src\hadoop-maven-plugins,运行mvn install
显示如下信息
部分截图如下:
(2)运行
这时候注意,我们进入的是hadoop_home,我这里是D:\hadoop2\hadoop-2.4.0-src
部分信息如下
这时候,我们已经把源码给下载下来了。这时候,我们会看到文件会明显增大。
3.关联eclipse源码
加入我们以下程序
hadoop2.2mapreduce例子.rar
如下图示,对他们进行了打包
这两个文件, MaxTemperature.zip为mapreduce例子,mockito-core-1.8.5.jar为mapreduce例子所引用的包
( 这里需要说明的是,mapreduce为2.2,但是不影响关联源码,只是交给大家该如何关联源码 )
我们解压之后,导入eclipse
(对于导入项目不熟悉,参考 零基础教你如何导入eclipse项目 )
我们导入之后,看到很多的红线,这些其实都是没有引用包,下面我们开始解决这些语法问题。
一、解决导入jar包
(1)引入mockito-core-1.8.5.jar
(2)hadoop2.4编译包中的jar文件,这些文件的位置如下:
hadoop_home中share\hadoop文件夹下,具体我这的位置D:\hadoop2\hadoop-2.4.0\share\hadoop
找到里面的jar包,举例如下:lib文件中的jar包,以及下面的jar包都添加到buildpath中。
如果对于引用包,不知道该如何添加这些jar包,参考 hadoop开发方式总结及操作指导 。
( 注意的是,我们这里是引入的是编译包,编译的下载hadoop--642.4.0.tar.gz
链接: http://pan.baidu.com/s/1c0vPjG0 密码:xj6l)
更多包下载可以参考 hadoop家族、strom、spark、Linux、flume等jar包、安装包汇总下载
二、关联源码
1.我们导入jar包之后,就没有错误了,如下图所示
2.找不到源码
当我们想看一个类或则函数怎么实现的时候,通过Open Call Hierarchy,却找不到源文件。
3.Attach Source
上面三处,我们按照顺序添加即可,我们选定压缩包之后,单击 确定,ok了,我们的工作已经完毕。
注意: 对于hadoop-2.2.0-src.zip则是我们上面通过maven下载的源码,然后压缩的文件, 记得一定是压缩文件zip的形式
4.验证关联后查看源码
我们再次执行上面操作,通过Open Call Hierarchy
看到下面内容
然后我们双击上图主类,即红字部分,我们看到下面内容:
问题:
细心的同学,这里面我们产生一个问题,因为我们看到的是.class文件,而不是.java文件。那么他会不会和我们所看到的.java文件不一样那。
其实是一样的,感兴趣的同学,可以验证一下。
一.如何获取源码
二.如何关联源码
一.如何获取源码
1.下载hadoop的maven程序包
(1)官网下载
这里我们先从官网上下载maven包hadoop-2.4.0-src.tar.gz。
官网下载地址
对于不知道怎么去官网下载,可以查看: 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍
(2)网盘下载
也可以从网盘下载:
http://pan.baidu.com/s/1kToPuGB
2.通过maven获取源码
获取源码的方式有两种,一种是通过命令行的方式,一种是通过eclipse。这里主要讲通过命令的方式
通过命令的方式获取源码:
1.解压包
![](https://i-blog.csdnimg.cn/blog_migrate/dde0e8421454a4c7ba0ab109d6f07876.png)
解压包的时候遇到了下面问题。不过不用管,我们继续往下走
2.通过maven获取源码
这里需要说明的是,在使用maven的时候,需要先安装jdk,protoc ,如果没有安装可以参考 win7如何安装maven、安装protoc
(1)进入hadoop-2.4.0-src\hadoop-maven-plugins,运行mvn install
显示如下信息
部分截图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/c9d2c28bff5457fa4b579c0f70f00fa9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6b39c7dc7edd00631f2e5197b1d48dc7.png)
(2)运行
这时候注意,我们进入的是hadoop_home,我这里是D:\hadoop2\hadoop-2.4.0-src
部分信息如下
这时候,我们已经把源码给下载下来了。这时候,我们会看到文件会明显增大。
![](https://i-blog.csdnimg.cn/blog_migrate/e8bc7a44971c36be2033677a532e2409.png)
3.关联eclipse源码
加入我们以下程序
![](https://i-blog.csdnimg.cn/blog_migrate/d6957183e94cceab85c4940e3c48850f.gif)
如下图示,对他们进行了打包
![](https://i-blog.csdnimg.cn/blog_migrate/00a0bf0c11dad13713daf7da26159b24.png)
这两个文件, MaxTemperature.zip为mapreduce例子,mockito-core-1.8.5.jar为mapreduce例子所引用的包
( 这里需要说明的是,mapreduce为2.2,但是不影响关联源码,只是交给大家该如何关联源码 )
我们解压之后,导入eclipse
(对于导入项目不熟悉,参考 零基础教你如何导入eclipse项目 )
![](https://i-blog.csdnimg.cn/blog_migrate/29305388e3610651d1c3bc80545b00f5.png)
我们导入之后,看到很多的红线,这些其实都是没有引用包,下面我们开始解决这些语法问题。
一、解决导入jar包
(1)引入mockito-core-1.8.5.jar
(2)hadoop2.4编译包中的jar文件,这些文件的位置如下:
hadoop_home中share\hadoop文件夹下,具体我这的位置D:\hadoop2\hadoop-2.4.0\share\hadoop
找到里面的jar包,举例如下:lib文件中的jar包,以及下面的jar包都添加到buildpath中。
如果对于引用包,不知道该如何添加这些jar包,参考 hadoop开发方式总结及操作指导 。
( 注意的是,我们这里是引入的是编译包,编译的下载hadoop--642.4.0.tar.gz
链接: http://pan.baidu.com/s/1c0vPjG0 密码:xj6l)
更多包下载可以参考 hadoop家族、strom、spark、Linux、flume等jar包、安装包汇总下载
![](https://i-blog.csdnimg.cn/blog_migrate/9bc225eabf48f78dfdc744aa00a8e83d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/418cf10ec92a15336ee4bce35bc69b74.png)
二、关联源码
1.我们导入jar包之后,就没有错误了,如下图所示
![](https://i-blog.csdnimg.cn/blog_migrate/9ee09ede4d846b61e31026e6a236895e.png)
2.找不到源码
当我们想看一个类或则函数怎么实现的时候,通过Open Call Hierarchy,却找不到源文件。
![](https://i-blog.csdnimg.cn/blog_migrate/9d81dfd0271eabd2408fa07e77cf9f4d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9f1f91a29a9d455b349c0038ec0dde37.png)
3.Attach Source
![](https://i-blog.csdnimg.cn/blog_migrate/fbbd70cd64e4f0ee0f91a88eab137b21.png)
上面三处,我们按照顺序添加即可,我们选定压缩包之后,单击 确定,ok了,我们的工作已经完毕。
注意: 对于hadoop-2.2.0-src.zip则是我们上面通过maven下载的源码,然后压缩的文件, 记得一定是压缩文件zip的形式
4.验证关联后查看源码
我们再次执行上面操作,通过Open Call Hierarchy
看到下面内容
![](https://i-blog.csdnimg.cn/blog_migrate/62ec747d5d16ac788da676e09c6072cb.png)
然后我们双击上图主类,即红字部分,我们看到下面内容:
![](https://i-blog.csdnimg.cn/blog_migrate/c70387b41da3029ebc041118b9c6f5c0.png)
问题:
细心的同学,这里面我们产生一个问题,因为我们看到的是.class文件,而不是.java文件。那么他会不会和我们所看到的.java文件不一样那。
其实是一样的,感兴趣的同学,可以验证一下。