hadoop2.6.0 在64位CentOS 6.4系统上的编译

直接使用官网上下载的hadoop2.6.0在运行时候常常都会遇到WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable警告
这是由于hadoop本地库和系统不兼容致使,这个时候咱们就须要手动在系统上编译hadoop了 java


所需包:
jdk-6u29-linux-x64.bin
下载地址:http://download.csdn.net/detail/tonylllz/9385886

apache-ant-1.9.6-bin.tar.gz
下载地址:http://download.csdn.net/detail/tonylllz/9385789

apache-maven-3.2.5-bin.tar.gz
下载地址:http://download.csdn.net/detail/tonylllz/9385793

findbugs-3.0.1.tar.gz
下载地址:http://download.csdn.net/detail/tonylllz/9385813

hadoop-2.6.0-src.tar.gz
下载地址:http://download.csdn.net/detail/tonylllz/9385803

protobuf-2.5.0.tar.gz
下载地址:http://download.csdn.net/detail/tonylllz/9385811 linux

这里须要注意:
①由于笔者的linux系统是64位的因此须要的jdk也必须是64位的,不然在编译过程会一直去寻找32位的各个插件进行运行,进而致使错误
②protobuf必须是2.5.0版本的

好了,下面咱们开始安装、编译吧~ c++

①jdk安装:

./jdk-6u29-linux-x64.bin
mv ./$jdk_bin_dir /usr/local/jdk
ln -s /usr/local/jdk/bin/java /usr/bin/java
ln -s /usr/local/jdk/bin/jps /usr/bin/jps

vim /etc/profile 添加
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin:

保存退出/etc/profile,并执行 source /etc/profile



执行java -version  若出现一下内容则表示jdk安装成功

②安装protobuf


由于protobuf的安装须要用到c++编译,因此这里须要安装gcc 等工具
yum -y install gcc+ gcc-c++
yum -y install make

tar zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure --prefix=/usr/local/protobuf
make
make check
make install

vim /etc/profile 添加
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
保存退出/etc/profile,并执行 source /etc/profile

配置动态连接库路径
vim /etc/ld.so.conf
插入:
/usr/local/protobuf/lib

执行 protoc --version 出现如下内容则表示安装成功
libprotoc 2.5.0



③安装ant

tar zxvf apache-ant-1.9.6-bin.tar.gz
vim /etc/profile 添加
export ANT_HOME=/home/hadoop/apache-ant-1.9.6
export PATH=$PATH:$ANT_HOME/bin
保存退出/etc/profile,并执行 source /etc/profile






④安装maven

tar zxvf apache-maven-3.2.5-bin.tar.gz
vim /etc/profile 添加
export MAVEN_HOME=/home/hadoop/apache-maven-3.2.5
export PATH=$PATH:$MAVEN_HOME/bin
保存退出/etc/profile,并执行 source /etc/profile



⑤安装findbugs

tar zxvf findbugs-3.0.1.tar.gz
vim /etc/profile 添加
export FINDBUGS_HOME=/home/hadoop/findbugs-3.0.1
export PATH=$PATH:$FINDBUGS_HOME/bin
保存退出/etc/profile,并执行 source /etc/profile



⑤开始编译

在编译hadoop过程会须要用到cmake,automake,libtool,zlib,openssl 因此这里咱们也先安装下,能够直接用linux的yum安装
yum -y install cmake
yum -y install automake
yum -y install libtool
yum -y install zlib
yum -y install zlib-devel
yum -y install openssl
yum -y install openssl-devel

查看PATH系统变量至少包括下面内容:



tar zxvf hadoop-2.6.0-src.tar.gz
cd hadoop-2.6.0-src
mvn package -Pdist,native -DskipTests -Dtar

若是是第一次编译所需的时间会比较久,由于须要去远程仓库将要用的包一个个下载下来,如有现车的仓库,能够直接上传到linux的本地库,这样会加快编译的速度。

编译成功后显示



编译成功后的包在 hadoop-2.6.0-src/hadoop-dist/target下 shell



补充说明下,编译过程不免会遇到问题,本篇文件已经将遇到的问题所需的包都在编译前提出,并安装好了,但你们的系统环境不免和笔者有所不一样。这里举例说明下在遇到编译错误的时候该如何去解决 apache

解决方法:
yum -y install zlib
yum -y install zlib-devel vim

相关文章
相关标签/搜索