alpesh@alpesh-Inspiron-3647:~/hadoop-2.7.2/sbin$ hadoop fs -ls
16/07/05 13:59:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
它还显示输出如下
hadoop check native -a
16/07/05 14:00:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Native library checking:
hadoop: false
zlib: false
snappy: false
lz4: false
bzip2: false
openssl: false
16/07/05 14:00:42 INFO util.ExitUtil: Exiting with status 1
请帮我解决这个问题
答案 0 :(得分:9)
您正在使用的库已编译为32位,您使用的是64位版本。所以打开你的.bashrc文件,其中hadoop的配置存在。转到这一行
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
并将其替换为
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
答案 1 :(得分:1)
要消除此错误:
假设Jar文件位于/home/cloudera/test.jar
,类文件位于/home/cloudera/workspace/MapReduce/bin/mapreduce/WordCount
,其中mapreduce
是程序包名称。
输入文件mytext.txt
位于/user/process/mytext.txt
,输出文件位置为/user/out
。
我们应该通过以下方式运行此mapreduce
程序:
$hadoop jar /home/cloudera/bigdata/text.jar mapreduce.WordCount /user/process /user/out
答案 2 :(得分:0)
在hadoop用户的bash配置文件中添加这些属性。问题将得到解决
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
答案 3 :(得分:0)
这只是一个警告,因为它找不到正确的.jar。要么编译它,要么因为它不存在。
如果我是你,我会简单地忽略它
为此,请在相应的配置文件中添加
log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR