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

问题

最近在学习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 --prefix=`pwd`/inst/bin && make && make install
export PATH=`pwd`/inst/bin:$PATH

(2)下载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

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

时间: 2024-11-02 23:41:39

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

Hadoop 2.2.0 在CentOS6.2 64位下的编译

最近在学习搭建Hadoop,直接从Apache官方网站直接下载最新版本Hadoop2.2,结果运行时发现提示 “libhadoop.so.1.0.0 which might have disabled stack guard” 的警告.Google了一下发现是因为 hadoop 2.2.0提供的是libhadoop.so库是32位的,而我们的机器是64位. 所以需要重新在64位的机器上编译hadoop. 1.安装JDK 下载JDK1.7的Linux 64位版本jdk-7u15-linux-x64

ubuntu 64位下安装wps

首先,去官网下载wps.地址:http://community.wps.cn/download/ 然后切换到下载目录,执行如下命令: $ sudo apt-get install ia32-libs* 然后执行安装命令: $ sudo dpkg -i --force-architecture wps-office_8.1.0.3724~b1p2_i386.deb 会报如下错误: Selecting previously unselected package wps-office. (Readin

《linux 内核完全剖析》编译linux 0.12 内核 Ubuntu 64bits 环境

我×...终于好了,大概3 4个小时吧...各种毛刺问题.终究还是闯过来了.... [email protected]:~/Downloads/linux-0.00-050613/linux-0.00$ make ld -s -x -M head.o  -o system > System.map dd bs=32 if=boot of=Image skip=1 16+0 records in 16+0 records out 512 bytes (512 B) copied, 0.000605

ubuntu环境下eclipse的安装以及hadoop插件的配置

ubuntu环境下eclipse的安装以及hadoop插件的配置 一.eclipse的安装 在ubuntu桌面模式下,点击任务栏中的ubuntu软件中心,在搜索栏搜索eclipse 注意:安装过程需要输入用户密码. 二.eclipse的配置 待eclipse安装好以后,在命令行输入whereis eclipse 找到eclipse的安装路径 在文件目录下找到eclipse中的插件目录 然后在打开一个文件目录窗口找到hadoop/contrib/eclipse-plugin中的eclipse插件—

vsftpd在Ubuntu 64位下的多用户多目录配置

研究了两天vsftpd,从网上找了很多资料,不是出这问题就是那问题,幸好终于解决了,下面贴出我的配置过程.不喜勿喷... 一.安装vsftpd sudo apt-get install vsftpd 安装完以后大致的目录介绍 /etc/vsftpd/vsftpd.conf 主配置文件 /usr/sbin/vsftpd Vsftpd的主程序 /etc/rc.d/init.d/vsftpd 启动脚本 /etc/pam.d/vsftpd PAM认证文件(此文件中file=/etc/vsftpd/ftp

Socket与系统调用深度分析 ——X86 64环境下Linux5.0以上的内核中

1.Socket与系统调用——概述 Socket API编程接口之上可以编写基于不同网络协议的应用程序: Socket接口在用户态通过系统调用机制进入内核: 内核中将系统调用作为一个特殊的中断来处理,以socket相关系统调用为例进行分析: socket相关系统调用的内核处理函数内部通过“多态机制”对不同的网络协议进行的封装方法: 下面会将Socket API编程接口.系统调用机制及内核中系统调用相关源代码. socket相关系统调用的内核处理函数结合起来分析,并在X86 64环境下Linux5

关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)

最近一直在Windows平台开发cocos-2dx游戏,期间做了一次引擎升级,升级到了3.0正式版本.Windows平台上表现很正常,没有出现什么问题. 上周五准备发布一个安卓包,编译很轻松的就过了,没有花费多少时间,但是安装到手机后,发现运行就崩溃了.没办法只好用模拟机调试,再次吐槽Android的模拟器,真的太他妈慢了,不到万不得已我真的不想再去用它,google真的应该好好整一下了. 好不容易运行起来了,看到崩溃的时候logcat的报错是"unable to load native lib

Ubuntu Linux环境下的Android开发环境的配置

在Android底层开发中需要用到的工具有:JDK6或以上版本:Eclipse3.4或以上版本:ADT;CDT;Android SDK:Android NDK:交叉编译环境:Linux内核源代码:Android源代码:用于调试开发板的串口工具:minicom. 以下为搭建Android开发环境的步骤: 1.安装JDK:下载JDK的压缩包后,将其解压缩,然后在Linux终端输入如下的命令打开profile文件来设置PATH环境变量. # gedit /etc/profile 打开profile文件

Ubuntu 64位下安装搜狗输入法

今天在搜狗输入法官网下载了deb安装包,直接点击安装输入法后发现并不能成功输入汉字.原因可能是没有先卸载fcitx.于是在贴吧里面看到了如下方法: 1:卸载fcitx sudo apt-get purge fcitx* 2:清理系统内的无用的软件包 sudo apt-get purge autoremove 3:到搜狗官网下载搜狗拼音输入法,选择你系统对应的软件包,我系统是64位的,所以我选择了amd64的 http://pinyin.sogou.com/linux/?r=pinyin 4:用g