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个项目关联起来.就可以直接调试代码而不用打包了.具体的关联项目自己百度
- hadoop-源码原理剖析--------(一)手把手教你如何进行hadoop开发的环境搭建,拒绝深坑!~
- 手把手教你搭建hadoop伪分布..
- 手把手教你搭建Hadoop集群
- 手把手教你搭建Android开发环境(一)
- Hadoop的开发环境搭建
- Hadoop 本地源码开发环境搭建
- Hadoop - Hadoop开发环境搭建
- hadoop环境搭建图文剖析
- 搭建Hadoop分布式开发环境(一)
- ubuntu开发环境搭建(一)hadoop的安装
- Hadoop环境搭建(一)
- 手把手教你搭建Java开发环境
- 【Hadoop】Win7上搭建Hadoop开发环境,方法一
- 手把手教你学Android-开发环境的搭建
- hadoop开发环境搭建
- Hadoop开发环境搭建
- hadoop 开发环境搭建
- hadoop开发环境搭建
- 程序员既要写好代码,又要写好文档
- 黑马程序员--Java学习日记之集合(collection类和map类代码)
- SyBaseのPowerBuilder12.5.1 打开dw时退出 解决方法
- C++primer学习:拷贝控制(4)
- Java基本编程11-冒泡排序
- hadoop-源码原理剖析--------(一)手把手教你如何进行hadoop开发的环境搭建,拒绝深坑!~
- UI23_多线程
- nginx与tomcat集群
- 分治-二叉树重建
- hive sql详细学习
- torch学习(五) simply application
- java中的匿名内部类总结
- Java集合---ConcurrentHashMap原理分析
- 七牛---关于回调流程