native-hadoop library本地库不一致解决: WARN util.NativeCodeLoader: Unable to load native-hadoop library




[blackcat@dqg5adslog1 bin]$ ./hdfs dfs -du /
16/11/30 17:54:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
8609914  /hbase




1. 检查hadoop要求的版本
执行一个DEBUG环境变量:
export HADOOP_ROOT_LOGGER=DEBUG,console


再次执行hdfs命令可以看到DEBUG的告警信息,hadoop-2.6.4要求的glibc版本是GLIBC_2.14
 [blackcat@dqg5adslog1 bin]$ ./hdfs dfs -du /
 16/11/30 17:56:10 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /app/blackcat/hadoop-2.6.4/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /app/blackcat/hadoop-2.6.4/lib/native/libhadoop.so.1.0.0)
16/11/30 17:56:10 DEBUG util.NativeCodeLoader: java.library.path=/app/blackcat/hadoop-2.6.4/lib/native:/app/blackcat/hadoop-2.6.4/lib/native
16/11/30 17:56:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable




2. 检查系统当前的GLIBC版本
[blackcat@dqg5adslog1 bin]$  ll /lib64/libc.so.6
lrwxrwxrwx. 1 root root 12 5月  17 2016 /lib64/libc.so.6 -> libc-2.12.so


当前版本是 libc-2.12


3. 升级glibc到2.14


3.1 下载地址: http://ftp.gnu.org/gnu/glibc/
3.2 export CFLAGS="-g -O2"           #加上优化开关,否则会出现错误
3.3 编译安装gblic-2.14


configure --prefix=/usr/local/glibc2.4/
报错: configure: error: you must configure in a separate build directory
在源码目录建立一个  mkdir glibc_build


cd ./glibc_build
../configure --prefix=/usr/local/glibc2.4/
make -j 4
make install -j 4


4. 将libc-2.14.so 替换 libc-2.12.so


5. 再次检查,告警消失

[blackcat@dqg5adslog4 bin]$ ./hdfs dfs -du /       
35585764  /hbase

你可能感兴趣的:(大数据hadoop/hbase,hadoop)