hadoop 2.X 二次开发 搭建环境

1、本文档前面部分配置参照群主的(尘事随缘) ,切记一切在linux下开发,想在win开发hadoop的就别往下看了.血泪史告诉你这简直太难了!
下载所需资料:链接:http://pan.baidu.com/s/1eQJd7W2 密码:ksjy
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(其他版本不可以)
apache-maven-3.3.3-bin.zip

3、安装软件

配置系统环境
vi /etc/profile

配置JDK

export 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

4、安装protoc(包里有)
解压缩,我的都是zip自己解吧
cd protobuf-2.5.0
./configure –prefix=/opt/protoc/
sudo make clean
make && make install

7、进入hadoop-2.6.0-src
cd hadoop-maven-plugins
mvn install 编译一下,生成咱们的protocol文件

8、进入eclipse 设置eclipse maven
hadoop 2.X 二次开发 搭建环境_第1张图片
更改eclipse的java路径 和maven属性 -Dmaven.multiModuleProjectDirectory=$M2_HOME
hadoop 2.X 二次开发 搭建环境_第2张图片
9.导入我们的maven项目(hadoop是基于模块开发的 ,我们导入自己模块就行啦 我这里使用
hadoop-2.2.0-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core)
好了导入项目之后本来应该maven install的 但是pom文件是红色的,我们先解决pom文件
hadoop 2.X 二次开发 搭建环境_第3张图片
这里会有红色的的.因为这是protocol生成的插件..我们前期maven install的时候已经生成了这些文件了,如果需要自己修改protocol内容,请自行参悟,我还不会
hadoop 2.X 二次开发 搭建环境_第4张图片
选择 第2个XX make…….expermetal 忽略即可
parent是红的,,不管他,无视!..
然后maven install还是会报错 没有javatools
我们自己加入(记住这里的加入的这个我们生成jar包的时候要把它给去掉,这里加入是为了给我们开发的,不然…后果XX&*@)
hadoop 2.X 二次开发 搭建环境_第5张图片
然后maven install 发现成功了, 测试也通过了 ,证明我们成功能开发了,此时pom有个XX是parent的,,如果你有强迫症可以给他注释了….
我们先测试下我们的东西能不能用…
在maper里面的run方法我们打个桩..
hadoop 2.X 二次开发 搭建环境_第6张图片
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.可以看到结果.
hadoop 2.X 二次开发 搭建环境_第7张图片
这就说明我们二次开发已经完全成功了,此时这个包放到我们集群里面替换以前的包也是一样完全可以使用了,当然建议我们先单元测试一下(单元测试在源码里面,每个模块都有,我们模仿就行了!)

你可能感兴趣的:(hadoop入门)