hadoop 主机是64位机器,而native库默认是32位的有关问题
Unable to load native-hadoop library
warning解决产生这个warning的原因是apache hadoop2.7需要使用2.1.4的glibc而我们云主机操作系统的lib是2.1.2:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
1.
# ll /lib64/libc.so.6 //查看当前系统glibc版本
$ export HADOOP_ROOT_LOGGER=DEBUG,console
hadoop fs -ls /
此事会输出debug信息,看到warning找出hadoop需要的glibc版本
2.下载对应版本的glibc安装
下载地址,找到对应版本的glibc
http://ftp.gnu.org/gnu/glibc/
[root@node1 ~]# export CFLAGS="-g -O2"
[root@node1 ~]# ./glibc-2.14.1/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@node1 ~]# make
[root@node1 ~]# make install
此事再尝试hadoop命令,一句没有报错了
[hadoop@node1 hadoop-2.7.0]$ bin/hadoop fs -ls /
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2015-05-21 09:12 /home
找到简便方法:
wget http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.7.0.tar
解压到 hadoop-2.7.0/lib/native/