您的位置:首页 > 运维架构

异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform,

2016-10-13 19:17 561 查看
http://blog.csdn.net/young_kim1/article/details/50324345

也可以直接下载编译好的库:  hadoop2.4.1 native x64 编译库
http://download.csdn.net/detail/xj626852095/9653603
刚装好hadoop的时候,每次输入命令运行都会出现:

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

提示hadoop不能加载本地库。

以前官网会提供32位的安装包,但目前提供的下载包为64位的,在linux 32位系统下安装后会一直提示错误“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable ”,但官网又不提供32位系统下的安装包,所以我们只能自己编译打包源码。

大家可以到
$HADOOP_HOME/lib/native
下,查看文件libhadoop.so.1.0.0,里面会显示Hadoop的位数,官网下载好的显示是64位的,截图如下:



如果你是64位操作系统,可以直接跳到第二步。


本地编译源码

具体操作看前一篇,这里

最后编译完以后,目标在

hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1
下,将此目录下的
lib/native
替换掉
$HADOOP_HOME/lib/native


配置环境变量

在/etc/profile中,添加下面配置:
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_HOME=/home/hadoop/labc/hadoop-2.7.1
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
1
2
3

最后记得使配置生效:
source /etc/profile


并把相同配置添加到hadoop-env.sh文件末尾。

输入如下命令,没有报warn,说明修改成功。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐