hadoop fs -ls / 出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform
Hadoop fs -ls / 出現(xiàn)WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable問(wèn)題
配置完hadoop啟動(dòng)的時(shí)候出現(xiàn)如下警告信息:
問(wèn)題在哪里?有人說(shuō)這是hadoop的預(yù)編譯包是32bit的,運(yùn)行在64bit上就會(huì)有問(wèn)題。但是這個(gè)答案大多數(shù)時(shí)候都是錯(cuò)的。
如何驗(yàn)證64bit還是32bit?
進(jìn)入hadoop安裝目錄/usr/local/hadoop-2.5.2/lib/native
用ldd命令查看依賴庫(kù)ldd libhadoop.so.1.0.0
會(huì)輸出如下信息:./libhadoop.so.1.0.0: /lib64/libc.so.6: versionGLIBC_2.14’ not found (required by ./libhadoop.so.1.0.0)
linux-vdso.so.1 => (0x00007fff369ff000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3caa7ea000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3caa455000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3caac1b000)
可以看到依賴的都是/lib64/的動(dòng)態(tài)庫(kù),所以不是64位/32位問(wèn)題。但是看到報(bào)錯(cuò),GLIBC_2.14找不到,現(xiàn)在檢查系統(tǒng)的glibc庫(kù), ldd --version即可檢查。
輸入命令:ldd –version
會(huì)輸出如下信息:ldd (GNU libc) 2.12
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
原來(lái)系統(tǒng)預(yù)裝的glibc庫(kù)是2.12版本,而hadoop期望是2.14版本,所以打印警告信息。
現(xiàn)在有兩個(gè)辦法,重新編譯glibc.2.14版本,安裝后專門(mén)給hadoop使用,這個(gè)有點(diǎn)危險(xiǎn)。
第二個(gè)辦法直接在log4j日志中去除告警信息。在//usr/local/hadoop-2.5.2/etc/hadoop/log4j.properties文件中添加
log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR總結(jié)
以上是生活随笔為你收集整理的hadoop fs -ls / 出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 好玩的联机电脑游戏(好玩的联机电脑游戏配
- 下一篇: HBase的hbase shell 详解