赞
踩
在执行hdfs dfs 相关命令时会报WARN util.NativeCodeLoader: Unable to load native-hadoop library foryour platform… using builtin-java classes where applicable的错误。
错误分析:
从错误的提示中可以看到,是报本地代码装载器的错误,你使用的平台(操作系统)无法加载本地hadoop类库,使用可以应用的内置Java类。
让我们来看看具体是什么原因:
打开命令行终端,敲入命令:vi /etc/profile 在最后一行加入:export HADOOP_ROOT_LOGGER=DEBUG,console 保存退出,设置logger级别,让其在控制台打印日志信息,再敲入命令:source /etc/profile,刷新设置。
在保证已开启hadoop后敲入命令:hdfs dfs -ls /(只要执行hdfs dfs相关命令即可)
DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /usr/hadoop/hadoop-2.4.1/lib/native/libhadoop.so.1.0.0......
从打印的信息中可以看出是native下的libhadoop.so.1.0.0报错,那我们来看看这个文件的信息,在命令终端进入native目录,敲入:file libhadoop.so.1.0.0,显示:
libhadoop.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
该文件是32位的系统版本,而我们使用的hadoop环境是64位操作系统,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。