Hadoop問題解決:Unable to load native-hadoop library for your platform...

weixin_43690498發表於2020-10-23

轉載:https://www.cnblogs.com/fengguozhong/p/11724685.html

在Hadoop配置好環境問題後,啟動Hadoop:start-dfs.sh發出警告:

Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

 在查閱了大量的資料後,有很多不同的說法,再此總結:

  • linux與Hadoop中lib/native/目錄下libhadoop.so.1.0.0的版本問題

[root@Master sbin]# uname -r
2.6.32-642.el6.x86_64
[root@master native]# file libhadoop.so.1.0.0
libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
都是64位,沒有問題
  • 依賴庫問題

[root@master native]# ldd libhadoop.so.1.0.0
./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)
        linux-vdso.so.1 =>  (0x00007fff31efd000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f654dd25000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f654db07000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f654d775000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f654e155000)

此處提示出:GLIBC_2.14版本未找到,確認一下版本
[root@master sbin]# strings /lib64/libc.so.6|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
Hadoop預設支援到GLIBC_2.12,未包括GLIBC_2.14,所以我們可以從網上找到對應的版本下載到linux系統/opt目錄下

 下載GLIBC:http://ftp.gnu.org/pub/gnu/glibc/

開始進行配置:

[root@master opt]# tar -zxvf glibc-2.14.tar.gz
[root@master opt]# cd glibc-2.14
[root@master glibc-2.14]#
[root@master glibc-2.14]# mkdir build
[root@master glibc-2.14]# cd build/
[root@master build]#
[root@master build]#../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@master build]#make && make install

在安裝完成後檢查一下版本:
[root@master build]# strings /lib64/libc.so.6|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE

然後啟動Hadoop成功。

相關文章