Hadoop 2.2.0 常见问题之:Ubuntu 64环境下“Unable to load native-hadoop library for your platform”问题”

版权声明:本文为博主原创文章,未经博主同意不得转载。

如有问题,欢迎指正。 https://blog.csdn.net/sun7545526/article/details/36729729

问题

近期在学习Hadoop(2.2.0),打算写一个MapReduce的小程序在Ubuntu 64位的环境下測试一把,一切环境配置完成后,运行的过程中。控制台输出以下的内容:

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

原因

在网上搜索了一番,得出例如以下结论:

“The reason you saw that warning is the native Hadoop library$HADOOP_HOME/lib/native/libhadoop.so.1.0.0 was actually compiled on 32 bit.”

意思就是Hadoop  的native是在32 bit环境下编译的,在64bit环境下运行会有问题。所以须要下载hadoop 2.2.0 的源代码在64bit环境下又一次编译

解决方法

要想解决问题须要又一次编译hadoop2.2.0 的源代码。过程例如以下:

(1)配置依赖包:

apache-maven-3.0.5-bin.tar.gz (http://maven.apache.org/download.cgi)

findbugs-2.0.2.tar.gz (http://sourceforge.jp/projects/sfnet_findbugs/releases/)

protobuf-2.5.0.tar.gz (https://code.google.com/p/protobuf/downloads/list)

maven以及findbugs,仅仅须要解压缩,然后在/etc/profile中配置就可以。配置完之后不要忘记运行source /etc/profile

protobuf包解压缩后须要运行make动作,命令例如以下

cd protobuf-2.5.0/
./configure
make
make check
make install

append below config into the /etc/profile file

<span style="color:#ff0000;">export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib</span>


2. 安装cmake

sudo apt-get install cmake


3下载hadoop 2.2.0的源文件。解压缩后对其打补丁

cd hadoop-2.2.0-src
wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch
patch -p0 < HADOOP-10110.patch

(3)进行编译

mvn package -Pdist,native -DskipTests -Dtar




猜你喜欢

转载自www.cnblogs.com/mqxnongmin/p/10849074.html
今日推荐