hadoop-源码原理剖析--------(一)手把手教你如何进行hadoop开发的环境搭建,拒绝深坑!~

来源:互联网 发布:微信图文编辑软件 编辑:程序博客网 时间:2024/05/22 12:44

hadoop现在火的一发不可收拾,越来越多的人想了解hadoop,但是hadoop跟我们以前的项目不大一样,很多人不知道从何入手,现在,教大家如何进行hadoop开发的环境搭建,然后进行debug调试源码.以便于未来的学习和工作,(以下步骤up主亲测成功,若有任何问题可以在群里发文,解决之后补充进来,当然,up主也是刚出道的四好青年,若有理解不当,请大家多多指教~)

资料下载 链接:http://pan.baidu.com/s/1eQJd7W2 密码:ksjy
1、本文档前面部分配置参照群主的(尘事随缘) ,切记一切在linux下开发,想在win开发hadoop的就别往下看了.血泪史告诉你这简直太难了!
2、首先查看包里的附件
hadoop2.7的源码,hadoop-2.7.0-src.tar.gz(自己要哪个版本自己找 http://archive.apache.org/dist/)
jdk-7u71-linux-x64.gz(自己去下)
protobuf-2.5.0.tar.gz(其他版本不可以,一定要2.5)
apache-maven-3.3.3-bin.zip

3、安装软件
配置系统环境
vi /etc/profile

配置JDKexport PATH  export JAVA_HOME=/opt/jdk1.7  export PATH=$PATH:$JAVA_HOME/bin  配置MVN(mvn用我的,已经设置好了国内镜像) export M2_HOME=/opt/maven3.1.1   export PATH=$PATH:$MA2_HOME/bin (中间是冒号,别二了)别忘记source /etc/profile

然后mvn 可以查看是否安装好 java可以看java环境
4.安装需要组件 (别求快,切记试一次)

     yum install gcc yum install gcc-c++ yum install make yum install cmake yum install openssl-devel yum install ncurses-devel  

5、安装protoc(包里有)
解压缩,我的都是zip自己解吧

  cd protobuf-2.5.0   ./configure --prefix=/opt/protoc/  sudo make clean  make && make install

6、进入hadoop-2.6.0-src

 cd hadoop-maven-plugins  

mvn install 编译一下,生成咱们的protocol文件

7、进入eclipse 设置eclipse maven
这里写图片描述

更改eclipse的java路径 和maven属性 -Dmaven.multiModuleProjectDirectory=$M2_HOME
这里写图片描述

8.导入我们的maven项目(hadoop是基于模块开发的 ,我们导入自己模块就行啦 我这里使用
hadoop-2.2.0-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core)
好了导入项目之后本来应该maven install的 但是pom文件是红色的,我们先解决pom文件
这里写图片描述
这里会有红色的的.因为这是protocol生成的插件..我们前期maven install的时候已经生成了这些文件了,如果需要自己修改protocol内容,请自行参悟
这里写图片描述
选择 第2个XX make…….expermetal 忽略即可
parent是红的,,不管他,无视!..
然后maven install还是会报错 没有javatools
我们自己加入(记住这里的加入的这个我们生成jar包的时候要把它给去掉,这里加入是为了给我们开发的,不然…后果XX&*@)

这里写图片描述
9.然后maven install 发现成功了, 测试也通过了 ,证明我们成功能开发了,此时pom有个XX是parent的,,如果你有强迫症可以给他注释了….
我们先测试下我们的东西能不能用…
在maper里面的run方法我们打个桩..
这里写图片描述

10.打包
写好保存之后要如何把它变成一个jar包呢
1.mvn好菜- .- 我只能CD进去了 ….cd到POM文件的这里…hadoop-2.2.0-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core
2.mvn compile 编译文件
3.mvn package 打包
4.cd target 发现我们包有 了

这里写图片描述
11.测试 接下来我们要测试我们的这个包到底能不能用!!! 因为我这个是MR的,可以直接本地测试我就用插件测试了
1.我的测试环境选择在了本地的mr插件测试(插件怎么用不属于我们的讨论范围)
2.修改pom文件 因为hadoop的包有好多,但是你需要的知道需要什么包,然后在pom文件中删除自己的制作的包,再导入我们自己编译的包就OK啦 我的pom文件在文件夹中, 这个pom文件是删除maven仓库的 mapreduce-client-core包了的,你自己加入就行了 给大家做参考
3.run一个mapreduce.可以看到结果.
这里写图片描述
这就说明我们二次开发已经完全成功了,此时这个包放到我们集群里面替换以前的包也是一样完全可以使用了,当然建议我们先单元测试一下(单元测试在源码里面,每个模块都有,我们模仿就行了!)
如果想直接更改并调试,可以尝试把2个项目关联起来.就可以直接调试代码而不用打包了.具体的关联项目自己百度

1 0
原创粉丝点击