首页 > 大数据 > Hadoop > Centos下Hadoop源码编译
2013
12-31

Centos下Hadoop源码编译

 

1、编译环境准备
 
 root帐号登录
 
 #yum install -y gcc*
 #yum install -y cmake
 #yum install -y openssl-devel

 jdk-7u45-linux-x64.tar.gz 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
 hadoop-2.2.0-src.tar.gz 下载地址:http://hadoop.apache.org/releases.html#Download
 apache-maven-3.0.5-bin.tar.gz 下载地址:http://maven.apache.org/download.cgi(据说3.1.1有BUG,所以使用3.0.5)
 protobuf-2.5.0.tar.gz 下载地址:https://code.google.com/p/protobuf/downloads/list
 
 下载后包解压到本地(可根据需要修改,为了测试方便我都解压到本地)
 #tar -zxvf jdk-7u45-linux-x64.tar.gz
 #tar -zxvf hadoop-2.2.0-src.tar.gz
 #tar -zxvf apache-maven-3.0.5-bin.tar.gz
 #tar -zxvf protobuf-2.5.0.tar.gz
 
2、配置环境变量 

 查看是否有旧版本jdk
 #rpm -qa | grep jdk
 #rpm -qa | grep gcj
 查询结果如下:
 java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 (如果查询结果中包含jdk信息,则卸载)
 libgcj-devel-4.4.7-4.el6.x86_64
 libgcj-4.4.7-4.el6.x86_64
 
 卸载旧版本jdk
 #yum remove -y java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
     
 添加环境变量
 #vi /etc/profile
 export JAVA_HOME=/root/jdk1.7.0_45
 export HADOOP_HOME=/root/hadoop-2.2.0-src
 export MAVEN_HOME=/root/apache-maven-3.0.5

 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MAVEN_HOME/bin:$PATH  
 
 使环境变量立即生效
 source /etc/profile
 
3、安装protobuf
 
 进入protobuf-2.5.0目录,依次执行以下命令:
 #./configure
 #make
 #make check
 #make install
 #protoc –version
 
 如显示libprotoc 2.5.0,则表示安装成功
 
4、编译Hadoop
 
 目前的2.2.0 的src压缩包解压出来的code有个bug,需要patch后才能编译。Patch下载地址: https://issues.apache.org/jira/browse/HADOOP-10110
 
 如果没有patch请执行安装命令:
 #yum install -y patch
 
 进入hadoop-2.2.0-src目录
 
 执行patch:
 #patch -p0 < HADOOP-10110.patch
 
 开始编译
 #mvn package -Pdist,native -DskipTests -Dtar
 
 ……编译很漫长,耐心等待吧……
 
 当最后看到一连串的SUCCESS的时候,表示编译成功了。
 有时候可能会出现不成功,一般是由于Maven服务器可能连不上,可用以下解决办法多尝试几次:
 1)更改Maven服务器镜像,重新编译。
 2)使用谷歌的DNS服务器,重新编译。
 #echo “nameserver 8.8.8.8″ >> /etc/resolv.conf

 编译成功后会在/root/hadoop-2.2.0-src/hadoop-dist/target/目录下,生成安装文件:hadoop-2.2.0.tar.gz。

最后编辑:
作者:sleepyan
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!