hadoop-2.6.0源码编译

运行hadoop环境时,常常会出现这种提示

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
意思是无法加载本地native库。

这里就需要我们自己本地进行编译hadoop源码,用生成的文件来替换原有的native库。

下面就是 大讲台老师 整理的hadoop编译流程

首先介绍一下我的环境

centos6.5

jdk-7u79-linux-x64.tar.gz

apache-maven-3.3.9-bin.tar.gz

protobuf-2.5.0.tar.gz

hadoop-2.6.0-cdh5.12.0-src.tar.gz

接下来就进行步骤介绍


第一步,安装jdk

解压

1 tar -zxvf jdk-7u79-linux-x64.tar.gz

环境变量

1 vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/home/hadoop/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 

 

测试是否安装成功

source /etc/profile
java -version

 

第二步,安装maven

解压

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

更改名称

mv apache-maven-3.3.9 maven339

环境变量

vi /etc/profile
#MAVEN_HOME
export MAVEN_HOME=/home/hadoop/maven339
export PATH=$MAVEN_HOME/bin:$PATH

测试是否安装成功

source /etc/profile
mvn -version

第三步,根据多次踩坑,准备编译时需要的安装

 

1 yum install gcc 2 yum intall gcc-c++  
3 yum install make

或者是直接运行

yum install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

第四步安装protoc

解压编译,逐步执行

1 tar -zxvf protobuf-2.5.0.tar.gz 2 cd protobuf-2.5.0
3 ./configure --prefix=/home/hadoop/protobuf250 4 make 5 make install

环境变量

vi /etc/profile
#PROTOC_HOME
export PROTOC_HOME=/home/hadoop/protobuf250
export PATH=$PROTOC_HOME/bin:$PATH

测试

source /etc/profile
protoc --version

第四步,编译hadoop

1 tar -zxvf hadoop-2.6.0-cdh5.12.0-src.tar.gz 2 mv hadoop-2.6.0-cdh5.12.0  hadoop260-src 3 cd hadoop-2.6.0-src 4 mvn clean package -Dmaven.javadoc.skip=true -Pdist,native -DskipTests -Dtar

经过一段时间的等待,出现 build success ,说明编译成功。

编译源码生成的部分都在hadoop260-src/hadoop-dist/target/目录下

将编译后的native文件夹下的东西替换到原来的native目录

1 cp -r hadoop260-src/hadoop-dist/target/hadoop-2.6.0-cdh5.12.0/lib/native/ /home/hadoop/hadoop260/lib/

同样,其他机器的文件同样替换

1 scp -r hadoop260-src/hadoop-dist/target/hadoop-2.6.0-cdh5.12.0/lib/native/ hadoop@ltt2.bg.cn:/home/hadoop/hadoop260/lib/
2 .. 3 .. 4 ..

 

注意:不同的linux环境,编译过程中会有不同,有可能会出一些编译过程的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值