相信各位读者们在运行Hadoop时或多或少的都会遇到一些很让人费解的警告,举个栗子:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable


大家应该不陌生。之所以会出现这个问题是因为没有使用本地编译的Hadoop二进制文件运行Hadoop,而是使用了官网下载的预编译的Hadoop。虽然运行起来没有什么问题,但是每次启动的时候都显示这一句警告很不爽有木有?抓狂抓狂


废话不多说,我们现在开始。


本人是用的 CentOS 6.8 64bit 版本的Linux系统来运行Hadoop集群的。


首先,下载编译所需要的软件包

apache-ant-1.9.4-bin.tar.gz

findbugs-3.0.0.tar.gz

protobuf-2.5.0.tar.gz

apache-maven-3.0.5-bin.tar.gz

最后,还有Hadoop得到源码包,如hadoop-2.4.0-src.tar.gz


安装编译所需软件:


解压apache-maven-3.0.5-bin.tar.gz

把Maven的环境变量配到/etc/profile中,随后source /etc/profile使修改生效。使用mvn -v命令检查Maven是否安装成功。


解压apache-ant-1.9.4-bin.tar.gz

与Maven相同的步骤,随后使用ant-version命令验证是否安装成功。


解压findbugs-3.0.0.tar.gz

同样需要配置环境变量,使用findbugs-version验证是否安装成功。


解压protobuf-2.5.0.tar.gz(注意:protobuf的版本必须是2.5.0及以上)

cd到protobuf目录,依次执行以下命令:

./configure

make

make check

make install

使用protoc –version命令验证是否安装成功。


安装cmake、openssl-devel、ncurses-devel(注意:必须是root用户,并且要能连上网)


执行以下命令:

yum install cmake

yum install openssl-devel

yum install ncurses-devel


编译Hadoop源码:


cd到先前已解压的Hadoop源码目录


执行 mvn clean install -DskipTests 命令

等待完成(会自动联网下载很多东西)


执行 mvn package -Pdist,native -DskipTests -Dtar 命令,开始编译,等待完成


过程大概是这样的:


[INFO] ————————————————————————
[INFO] Reactor Summary:
[INFO]
[INFO] Apache Hadoop Main ………………………….. SUCCESS[6.304s]
[INFO] Apache Hadoop Project POM ……………………. SUCCESS [26.555s]
[INFO] Apache Hadoop Annotations ……………………. SUCCESS[2.757s]
[INFO] Apache Hadoop Assemblies …………………….. SUCCESS [0.216s]
[INFO] Apache Hadoop Project Dist POM ……………….. SUCCESS [19.592s]
[INFO] Apache Hadoop Maven Plugins ………………….. SUCCESS [2.715s]
[INFO] Apache Hadoop MiniKDC ……………………….. SUCCESS [2.360s]
[INFO] Apache Hadoop Auth ………………………….. SUCCESS [2.950s]
[INFO] Apache Hadoop Auth Examples ………………….. SUCCESS[2.119s]
[INFO] Apache Hadoop Common ………………………… SUCCESS [1:22.302s]
[INFO] Apache Hadoop NFS …………………………… SUCCESS [5.095s]
[INFO] Apache Hadoop Common Project…………………. SUCCESS [0.026s]
[INFO] Apache Hadoop HDFS ………………………….. SUCCESS [2:06.178s]
[INFO] Apache Hadoop HttpFS ………………………… SUCCESS [1:09.142s]
[INFO] Apache Hadoop HDFS BookKeeper Journal …………. SUCCESS [14.457s]
[INFO] Apache Hadoop HDFS-NFS ……………………….SUCCESS [2.859s]
[INFO] Apache Hadoop HDFS Project …………………… SUCCESS [0.030s]
[INFO] hadoop-yarn ………………………………… SUCCESS [0.029s]
[INFO] hadoop-yarn-api …………………………….. SUCCESS [59.010s]
[INFO] hadoop-yarn-common ………………………….. SUCCESS [20.743s]
[INFO] hadoop-yarn-server ………………………….. SUCCESS[0.026s]
[INFO] hadoop-yarn-server-common ……………………. SUCCESS [7.344s]
[INFO] hadoop-yarn-server-nodemanager ……………….. SUCCESS [11.726s]
[INFO] hadoop-yarn-server-web-proxy …………………. SUCCESS [2.508s]
[INFO] hadoop-yarn-server-applicationhistoryservice …… SUCCESS [4.041s]
[INFO] hadoop-yarn-server-resourcemanager ……………. SUCCESS [10.370s]
[INFO] hadoop-yarn-server-tests …………………….. SUCCESS [0.374s]
[INFO] hadoop-yarn-client ………………………….. SUCCESS [4.791s]
[INFO] hadoop-yarn-applications …………………….. SUCCESS [0.025s]
[INFO] hadoop-yarn-applications-distributedshell ……… SUCCESS [2.242s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher …. SUCCESS [1.553s]
[INFO] hadoop-yarn-site ……………………………. SUCCESS [0.024s]
[INFO] hadoop-yarn-project …………………………. SUCCESS [3.261s]
[INFO] hadoop-mapreduce-client ……………………… SUCCESS [0.082s]
[INFO] hadoop-mapreduce-client-core …………………. SUCCESS [18.549s]
[INFO] hadoop-mapreduce-client-common ……………….. SUCCESS [13.772s]
[INFO] hadoop-mapreduce-client-shuffle ………………. SUCCESS [2.441s]
[INFO] hadoop-mapreduce-client-app ………………….. SUCCESS [6.866s]
[INFO] hadoop-mapreduce-client-hs …………………… SUCCESS [6.280s]
[INFO] hadoop-mapreduce-client-jobclient ……………..SUCCESS [3.510s]
[INFO] hadoop-mapreduce-client-hs-plugins ……………. SUCCESS [1.725s]
[INFO] Apache Hadoop MapReduce Examples ……………… SUCCESS [4.641s]
[INFO] hadoop-mapreduce ……………………………. SUCCESS[3.002s]
[INFO] Apache Hadoop MapReduce Streaming …………….. SUCCESS [3.497s]
[INFO] Apache Hadoop Distributed Copy ……………….. SUCCESS [5.847s]
[INFO] Apache Hadoop Archives ………………………. SUCCESS [1.791s]
[INFO] Apache Hadoop Rumen …………………………. SUCCESS [4.693s]
[INFO] Apache Hadoop Gridmix ……………………….. SUCCESS [3.235s]
[INFO] Apache Hadoop Data Join……………………… SUCCESS [2.349s]
[INFO] Apache Hadoop Extras ………………………… SUCCESS [2.488s]
[INFO] Apache Hadoop Pipes …………………………. SUCCESS [5.863s]
[INFO] Apache Hadoop OpenStack support ………………. SUCCESS [3.776s]
[INFO] Apache Hadoop Client ………………………… SUCCESS [5.235s]
[INFO] Apache Hadoop Mini-Cluster …………………… SUCCESS [0.070s]
[INFO] Apache Hadoop Scheduler Load Simulator ………… SUCCESS [3.935s]
[INFO] Apache Hadoop Tools Dist …………………….. SUCCESS [4.392s]
[INFO] Apache Hadoop Tools …………………………. SUCCESS [0.022s]
[INFO] Apache Hadoop Distribution …………………… SUCCESS [21.274s]
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 10:25.147s
[INFO] Finished at: Mon Jul 28 16:09:56 CST 2014
[INFO] Final Memory: 75M/241M
[INFO] ————————————————————————


表示编译成功


cd到hadoop-2.4.0-src/hadoop-dist/target/hadoop-2.4.0/lib/native中,将 64 位的 native 文件夹替换原 32 位的文件夹即可


大功告成!

版权声明:本文为wanxi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wanxi/p/6476248.html