hadoop 无法load Native库的问题( Unable to load native-hadoop library )

此问题的缘由一般来说有两种

  • hadoop 2.6 及之前的版本官方提供的二进制包本地库多数都是32-bit的,而现在服务器基本都是64bit,所以存在这个问题,这样一般解决办法是与服务器相同的os环境下 安装一般类库,然后重新编译hadoop
  • hadoop 2.6版本之后官方本身提供的安装包都是64bit 编译的,而此时 运行 hadoop checknative -a 发现还是报错的话,很可能是服务器自带的glibc 等编译库版本过低

以上问题的查看具体原因查找可以按照如下步骤调试:

  1. $ export HADOOP_ROOT_LOGGER=DEBUG,console 将脚本信息临时更改为debug 级别,console 输出

  2. 运行 hadoop checknative -a 查看输出信息error
    假设是 glibc 版本过低,升级glibc 版本即可
    例如:centos 6 os 中download glibc-2.14 的tar包后解压进入

  1. mkdir build && cd build/
  2. export CFLAGS="-g -O2"
    3)../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
    4)make && make install -k -i
    以上只是简要说明,具体情况根据输出log进行调试~

你可能感兴趣的:(hadoop 无法load Native库的问题( Unable to load native-hadoop library ))