刚装好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-native-64-2.4.0.tar:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.4.0.tar
如果你是hadoop2.6的可以下载下面这个:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar
tar -xvf hadoop-native-64-2.4.0.tar -C hadoop/lib/native/
大家可以到$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中,添加下面配置:
- 1
- 2
- 3
- 1
- 2
- 3
最后记得使配置生效:source /etc/profile
并把相同配置添加到hadoop-env.sh文件末尾。
输入如下命令,没有报warn,说明修改成功。
转:http://blog.csdn.net/young_kim1/article/details/50324345
但是通过上面操作后还是报错,通过调试信息发现是libc版本太低
17/03/04 15:06:01 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
17/03/04 15:06:01 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /home/grid/soft/hadoop-2.6.0-cdh5.10.0/lib/libhadoop.so: /lib64/libc.so.6: version `GLIBC_2.6' not found (required by /home/grid/soft/hadoop-2.6.0-cdh5.10.0/lib/libhadoop.so)
17/03/04 15:06:01 DEBUG util.NativeCodeLoader: java.library.path=/home/grid/soft/hadoop-2.6.0-cdh5.10.0/lib:/home/grid/soft/hadoop-2.6.0-cdh5.10.0/lib/native
17/03/04 15:06:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/03/04 15:06:01 DEBUG util.PerformanceAdvisory: Falling back to shell based
17/03/04 15:06:01 DEBUG security.JniBasedUnixGroupsMappingWithFallback: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping
解决办法参考:
http://blog.csdn.net/cpplang/article/details/8462768/
http://blog.pengduncun.com/?p=1194
附加知识:
tar xvJf ***.tar.xz来解压