安装maven

hadoop源码是使用maven组织管理的,必须下载maven。从maven官网下载,下载地址是http://maven.apache.org/download.cgi,选择 apache-maven-3.1.0-bin.tar.gz 下载,不要选择3.1下载。

执行以下命令解压缩jdk

tar -zxvf  apache-maven-3.1.0-bin.tar.gz

会生成一个文件夹apache-maven-3.1.0,然后设置环境变量中。

执行命令vi  /etc/profile,编辑结果如下所示

MAVEN_HOME=/usr/maven/apache-maven-3.1.0

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

保存退出文件后,执行以下命令

source  /etc/profile

mvn -version

如果看到下面的显示信息,证明配置正确了。

安装findbugs(可选步骤)

findbugs是用于生成文档的。如果不需要编译生成文档,可以不执行该步骤。从findbugs官网下载findbugs,下载地址是http://sourceforge.jp/projects/sfnet_findbugs/releases/,选择findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz下载。

执行以下命令解压缩jdk

tar -zxvf findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz

会生成一个文件夹findbugs-3.0.0-dev-20131204-e3cbbd5,然后设置环境变量中。

执行命令vi  /etc/profile,编辑结果如下所示

FINDBUGS_HOME=/usr/local/findbugs

export FINDBUGS_HOME

export PATH=${PATH}:${FINDBUGS_HOME}/bin

保存退出文件后,执行以下命令

source  /etc/profile

findbugs -version

如果看到下面的显示信息,证明配置正确了。

安装protoc

hadoop使用protocol buffer通信,从protoc官网下载protoc,下载地址是https://code.google.com/p/protobuf/downloads/list,选择protobuf-2.5.0.tar.gz 下载。

为了编译安装protoc,需要下载几个工具,顺序执行以下命令

yum install gcc

yum intall gcc-c++

yum install make

如果操作系统是redhat6那么gcc和make已经安装了。在命令运行时,需要用户经常输入“y”。

然后执行以下命令解压缩protobuf

tar -zxvf protobuf-2.5.0.tar.gz

会生成一个文件夹protobuf-2.5.0,执行以下命令编译protobuf。

cd protobuf-2.5.0

./configure --prefix=/usr/local/protoc/

make && make install

只要不出错就可以了。

执行完毕后,编译后的文件位于/usr/local/protoc/目录下,我们设置一下环境变量

执行命令vi  /etc/profile,编辑结果如下所示

export PATH=${PATH}:/usr/local/protoc/bin

保存退出文件后,执行以下命令

source  /etc/profile

protoc --version

如果看到下面的显示信息,证明配置正确了。

安装其他依赖

顺序执行以下命令

yum install cmake

yum install openssl-devel

yum install ncurses-devel

安装完毕即可。

编译hadoop2.4源码

从hadoop官网下载2.4稳定版,下载地址是http://apache.fayea.com/apache-mirror/hadoop/common/hadoop-2.4.0/,下载hadoop-2.4.0-src.tar.gz   下载。

执行以下命令解压缩jdk

tar -zxvf  hadoop-2.4.0-src.tar.gz 如图所示:

进入到目录/usr/local/hadoop-2.2.0-src中,执行命令

mvn package -DskipTests-Pdist,native,docs

如果没有安装findbugs,把上面命令中的docs去掉即可,就不必生成文档了。

该命令会从外网下载依赖的jar,编译hadoop源码,需要花费很长时间。

在等待n久之后,可以看到如下的结果:

main:

[INFO] Executedtasks

[INFO]

[INFO] ---maven-javadoc-plugin:2.8.1:jar (module-javadocs) @ hadoop-dist ---

[INFO] Buildingjar: /usr/local/comile_hadoop/hadoop-2.4.0-src/hadoop-dist/target/hadoop-dist-2.4.0-javadoc.jar

[INFO]------------------------------------------------------------------------

[INFO] ReactorSummary:

[INFO]

[INFO] ApacheHadoop Main ................................ SUCCESS [30.591s]

[INFO] ApacheHadoop Project POM ......................... SUCCESS [8.024s]

[INFO] ApacheHadoop Annotations ......................... SUCCESS [19.005s]

[INFO] ApacheHadoop Assemblies .......................... SUCCESS [0.908s]

[INFO] ApacheHadoop Project Dist POM .................... SUCCESS [16.797s]

[INFO] ApacheHadoop Maven Plugins ....................... SUCCESS [14.676s]

[INFO] ApacheHadoop MiniKDC ............................. SUCCESS [20.931s]

[INFO] ApacheHadoop Auth ................................ SUCCESS [52.092s]

[INFO] ApacheHadoop Auth Examples ....................... SUCCESS [10.980s]

[INFO] ApacheHadoop Common .............................. SUCCESS [11:32.369s]

[INFO] ApacheHadoop NFS ................................. SUCCESS [24.092s]

[INFO] ApacheHadoop Common Project ...................... SUCCESS [0.066s]

[INFO] ApacheHadoop HDFS ................................ SUCCESS [23:42.723s]

[INFO] ApacheHadoop HttpFS .............................. SUCCESS [59.023s]

[INFO] ApacheHadoop HDFS BookKeeper Journal ............. SUCCESS [13.856s]

[INFO] ApacheHadoop HDFS-NFS ............................ SUCCESS [18.362s]

[INFO] ApacheHadoop HDFS Project ........................ SUCCESS [0.095s]

[INFO]hadoop-yarn ....................................... SUCCESS [0.153s]

[INFO]hadoop-yarn-api ................................... SUCCESS [2:19.762s]

[INFO]hadoop-yarn-common ................................ SUCCESS [1:09.344s]

[INFO]hadoop-yarn-server ................................ SUCCESS [0.214s]

[INFO]hadoop-yarn-server-common ......................... SUCCESS [16.529s]

[INFO]hadoop-yarn-server-nodemanager .................... SUCCESS [39.870s]

[INFO]hadoop-yarn-server-web-proxy ...................... SUCCESS [7.958s]

[INFO]hadoop-yarn-server-applicationhistoryservice ...... SUCCESS [10.571s]

[INFO]hadoop-yarn-server-resourcemanager ................ SUCCESS [30.395s]

[INFO]hadoop-yarn-server-tests .......................... SUCCESS [3.403s]

[INFO]hadoop-yarn-client ................................ SUCCESS [10.963s]

[INFO]hadoop-yarn-applications .......................... SUCCESS [0.073s]

[INFO]hadoop-yarn-applications-distributedshell ......... SUCCESS [5.617s]

[INFO]hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [8.685s]

[INFO]hadoop-yarn-site .................................. SUCCESS [0.415s]

[INFO]hadoop-yarn-project ............................... SUCCESS [10.655s]

[INFO]hadoop-mapreduce-client ........................... SUCCESS [0.498s]

[INFO]hadoop-mapreduce-client-core ...................... SUCCESS [1:09.961s]

[INFO]hadoop-mapreduce-client-common .................... SUCCESS [35.913s]

[INFO]hadoop-mapreduce-client-shuffle ................... SUCCESS [9.373s]

[INFO]hadoop-mapreduce-client-app ....................... SUCCESS [24.999s]

[INFO]hadoop-mapreduce-client-hs ........................ SUCCESS [20.270s]

[INFO]hadoop-mapreduce-client-jobclient ................. SUCCESS [22.128s]

[INFO]hadoop-mapreduce-client-hs-plugins ................ SUCCESS [2.831s]

[INFO] ApacheHadoop MapReduce Examples .................. SUCCESS [16.102s]

[INFO]hadoop-mapreduce .................................. SUCCESS [8.448s]

[INFO] ApacheHadoop MapReduce Streaming ................. SUCCESS [14.307s]

[INFO] ApacheHadoop Distributed Copy .................... SUCCESS [20.261s]

[INFO] ApacheHadoop Archives ............................ SUCCESS [5.800s]

[INFO] ApacheHadoop Rumen ............................... SUCCESS [22.152s]

[INFO] ApacheHadoop Gridmix ............................. SUCCESS [11.213s]

[INFO] ApacheHadoop Data Join ........................... SUCCESS [5.208s]

[INFO] ApacheHadoop Extras .............................. SUCCESS [6.728s]

[INFO] ApacheHadoop Pipes ............................... SUCCESS [6.053s]

[INFO] ApacheHadoop OpenStack support ................... SUCCESS [25.927s]

[INFO] ApacheHadoop Client .............................. SUCCESS [8.744s]

[INFO] ApacheHadoop Mini-Cluster ........................ SUCCESS [0.154s]

[INFO] ApacheHadoop Scheduler Load Simulator ............ SUCCESS [15.622s]

[INFO] ApacheHadoop Tools Dist .......................... SUCCESS [9.695s]

[INFO] ApacheHadoop Tools ............................... SUCCESS [0.110s]

[INFO] ApacheHadoop Distribution ........................ SUCCESS [3:59.323s]

[INFO]------------------------------------------------------------------------

[INFO] BUILDSUCCESS

[INFO]------------------------------------------------------------------------

[INFO] Totaltime: 56:17.413s

[INFO] Finishedat: Thu May 22 17:13:49 CST 2014

[INFO] FinalMemory: 88M/371M

[INFO]------------------------------------------------------------------------

[root@icity2hadoop-2.4.0-src]#

好了,编译完成了。

编译后的代码在hadoop-2.4.0-src/hadoop-dist/target下面,如下图所示:

[转]编译hadoop的更多相关文章

  1. 在Ubuntu X64上编译Hadoop

    在之前的文章中介绍了如何直接在Ubuntu中安装Hadoop.但是对于64位的Ubuntu来说,官方给出的Hadoop包是32位的,运行时会得到警告: WARN util.NativeCodeLoad ...

  2. 编译Hadoop

    Apache Hadoop 生态圈软件下载地址:http://archive.apache.org/dist/hadoop/hadoop下载地址 http://archive.apache.org/d ...

  3. mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项

    1.jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 htt ...

  4. 64位centos 下编译 hadoop 2.6.0 源码

    64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...

  5. 编译hadoop遇到maven timeout

      在编译hadoop的过程中,使用ant jar进行编译时,提示maven版本库连接超时的问题,通过搜索发现,在如下文件的位置中有repo2的版本库地址,这个地址在国内,目前不能正常的访问:   将 ...

  6. 在Ubuntu 64位OS上运行hadoop2.2.0[重新编译hadoop]

    最近在学习搭建Hadoop, 我们从Apache官方网站直接下载最新版本Hadoop2.2.官方目前是提供了linux32位系统可执行文件,结果运行时发现提示 “libhadoop.so.1.0.0 ...

  7. 编译Hadoop源码

    背景: 在阅读hadoop源代码过程中会发现部分类或者函数无法找到,这是由于Hadoop2.0使用了Protocol Buffers定义了RPC协议, 而这些Protocol Buffers文件在Ma ...

  8. CentOS 6.4 编译 Hadoop 2.5.1

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/4058956.html ...

  9. CentOS 6.4 64位 源码编译hadoop 2.2.0

    搭建环境:Centos 6.4 64bit 1.安装JDK 参考这里2.安装mavenmaven官方下载地址,可以选择源码编码安装,这里就直接下载编译好的wget http://mirror.bit. ...

  10. 64位CentOS上编译 Hadoop 2.2.0

    下载了Hadoop预编译好的二进制包,hadoop-2.2.0.tar.gz,启动起来后.总是出现这样的警告: WARN util.NativeCodeLoader: Unable to load n ...

随机推荐

  1. Windows 下面简单的同步文件夹工具

    1. 微软自己的工具 下载地址 https://www.microsoft.com/en-us/download/confirmation.aspx?id=15155 2. 安装过程忽略 3. 配置与 ...

  2. Helm 安装 wordpress

    1. 前置需要安装 storageclass 然后 安装helm 客户端 helm tiller 服务端 2. 设置 当前的位阿里云的 repo 3. 查找 wordpress的镜像 helm sea ...

  3. 小程序 JM

    // 本地 // 'https://ly.com/' // 短信验证码参数: let dataValue = { 'type': 1, mobile: '13615814562' }; dataVal ...

  4. v-if 和 v-show的区别

    简单来说,v-if 的初始化较快,但切换代价高:v-show 初始化慢,但切换成本低 1.共同点 都是动态显示DOM元素 2.区别 (1)手段: v-if是动态的向DOM树内添加或者删除DOM元素:  ...

  5. ES6学习笔记(二):引用数据类型

    Array 新增方法 1.Array.from() 将类数组(dom对象 或 arguments)或set\map对象转换为数组 2.Array.of() 将一组值转换为数组,例如Array.of(3 ...

  6. BZOJ2655 calc(动态规划+拉格朗日插值法)

    考虑暴力dp:f[i][j]表示i个数值域1~j时的答案.考虑使其值域++,则有f[i][j]=f[i][j-1]+f[i-1][j-1]*i*j,边界f[i][i]=i!*i!. 注意到值域很大,考 ...

  7. redis scan迭代模糊匹配

    $redis = new Redis(); $redis->connect('localhost', 6379); $iterator = null; while (true) { $keys ...

  8. 【codevs1959】拔河比赛

    题目大意:给定一个有 N 个数的集合,将这 N 个数均分成两堆,求差值最小是多少. 题解:有关集合选数的问题,应该是背包问题,同时要求均分可知,选出的物品数目也应该是背包费用的一个维度,因此这是一个多 ...

  9. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  10. C/S与B/S区别

    1.什么是C/S结构C/S (Client/Server)结构,即客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现, ...