昨晚重新搭建Hadoop2.6,已经设置了HADOOP_HOME
,但是在执行hadoop fs -ls /
,出现了下面警告WARN util.NativeCodeLoader: Unable to load native-hadoop libra ry for your platform... using builtin-java classes where applicable
。带着这个问题,我去网上找了答案五花八门。
主要原因是
进入lib/native/
,用ldd命令,ldd libhadoop.so.1.0.0
, 会输出如下信息:

这里简单说一下ldd命令。 在linux中, ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。我们可以用ldd --help命令来查看其用法,这里就不做列举了!
上图说,GLIBC_2.14版本未不到,现在检查系统的glibc库, ldd --version即可检查。

glicb是2.12版本, 而hadoop期望的是2.14版本,所以给了个警告信息
网上大部分都是去bashrc或者/etc/profile中,修改环境变量,但也有很多网友反馈不奏效
这里可以尝试一下第二种方法,直接在log4j日志中去除告警信息。
在
HADOOP_HOME
目录下,去到/etc/hadoop/目录下,修改log4j.properties
,在该文件末尾增加一行 :log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
wq保存,然后执行
hadoop fs -ls /
,解决~~~是集群的话 ,那么每一台都要去除警告信息 ,这样用其他节点执行hadoop指令也不会有警告!
网友评论