Hadoop0.21.0源码编译方法
来源:互联网 发布:k svd字典训练算法 编辑:程序博客网 时间:2024/05/01 01:09
Author:谢
本文介绍在Linux下使用eclipse编译Hadoop0.21.0源码,参考Hadoop0.21.0编译手册
假设安装环境已配置好:eclipse3.X + jdk1.6
第一步,下载hadoop0.21.0release版本
下载镜像:http://labs.renren.com/apache-mirror//hadoop/core/hadoop-0.21.0/ ,下载后解压,可看到文件夹内包含三个子文件夹common,hdfs,mapred,分别对应hadoop common,HDFS,Mapreduce的编译文件夹。
第二步,编译common模块
在common工程上点击右键,选择属性。
去掉Java Builder前面的钩,点击new按钮新建ant编译器
为builder命名,选择Buildfile位置 Browse File System… 这里需要选择common根目录下的build.xml文件
在target选项卡中修改 Manual Build的targets,只保留jar
在common工程的project选项中去掉自动编译的选项,点击编译,完成
编译后在common的build目录下即生成了两个jar文件和其他一下文件夹。其中hadoop-common-0.21.1-SNAPSHOT.jar是二进制包,而hadoop-common-0.21.1-SNAPSHOT-sources.jar是源码包。
注意:有编译的时候会报找不到lib文件夹的错误,需要在build下手工简历lib文件夹即可
第三步,编译hdfs,mapreduce模块
第二步中新建工程的方法对于hdfs,mapreduce的编译同样适用
在编译hdfs和mapreduce的时候,由于对common有依赖关系。需要去网站下载相关包。不过在默认的配置中,是找不到该包的,会报模块找不到错误。需要对hdfs,mapreduce的ivy目录中的libraries/properties文件进行修改
修改以下两项的值,如下图所示。
然后其他的操作和common编译一样,即可完成编译过程,编译后的build文件夹如下:
a. Sh ${HADOOP_HOME}/bin/stop-all.sh停掉hadoop集群。然后删除${HADOOP_HOME}下三个工程相关的包。
b. 把编译成功的hadoop-common-0.21.1-SNAPSHOT.jar,hadoop-hdfs-0.21.1-SNAPSHOT.jar和 hadoop-mapred-0.21.1-SNAPSHOT.jar三个jar包拷贝到hadoop集群${HADOOP_HOME}目录下。
c. Sh ${HADOOP_HOME}/bin/start-all.s重启hadoop集群。
d. 查看集群的各项功能,是否正确,正确则证明编译成功。
- Hadoop0.21.0源码编译方法
- Hadoop0.21.0编译方法
- Hadoop0.21.0源码编译流程
- Hadoop0.21.0编译手册
- hadoop0.23 源码编译 错误及原因
- hadoop0.23 编译
- Hadoop0.21.0源码流程分析(1)-客户端提交作业
- Hadoop0.21.0源码流程分析(1)-客户端提交作业
- Hadoop0.21.0源码流程分析(2)-主节点接收作业
- Hadoop0.21.0源码流程分析(2)-主节点接收作业
- hadoop0 release0.20.0编译出错
- 解决Hadoop0.21.0 HDFS/MapReduce编译错误(impossible to resolve dependencies)
- 解决Hadoop0.21.0 HDFS/MapReduce编译错误(ivy-resolve-common does not find hadoop-commo)
- Hadoop0.21.0源码流程分析(3)-Task节点管理启动任务
- Hadoop0.21.0源码流程分析(3)-Task节点管理启动任务
- hadoop0.20.2在eclipse中的编译
- 搭建Hadoop0.20.2源码学习环境
- Android源码编译方法
- 对面向对象设计原则的总结
- 2010_0917_最新linux安装
- page_address()函数分析--如何通过page取得虚拟地址
- oracle 9,oracle10g,oracle11g
- 使用 LoadLibrary 远线程向进程注入dll
- Hadoop0.21.0源码编译方法
- JS数组方法汇总
- 关于头文件 2410Init.s的详细注释分析
- Linux管理Linux,Windows管理Linux
- Android下面的MD5加密
- 李彦宏:我是一个慢性子
- 深入理解Linux内存映射机制[节选]
- Memcached深度分析
- 大表建立索引