hadoop本地库无法加载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop本地库无法加载相关的知识,希望对你有一定的参考价值。
这种情况怎么解决,求大神解答
(1)首先,设置环境变量,并确保环境变量生效(使用source 命令导入,或者打开一个新的shell,或者干脆在当前shell里面,把这些命令运行一遍)export HADOOP_HOME=/your/own/hadoop/home [这个你懂的]
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
(2)然后,在当前shell里面,echo $HADOOP_OPTS ,确保第一步正确执行
(3)如果前两步已经完成,并且依然有该错误提示,则原因是hadoop自带的native库的(版本)位数与你本机的(版本)位数不同。
具体说就是:
如果你安装的是hadoop 2.4以及之前的版本,它自带的native库是32位的,如果你的操作系统和JVM是64位的,就会报上述错误;
如果你安装的是hadoop 2.5版本,它自带的native库是64位的,如果你的操作系统和JVM是32位的,就会报上述错误。
解决方法是:
如果你的操作系统和JVM是64位的,就直接安装hadoop 2.5版本,无需按照网上说的去重新编译hadoop,因为它的native库就是64位了;
如果你的操作系统和JVM是32位的,就直接安装hadoop 2.4以及之前的版本。
经过以上三步,就能解决你的问题。若未能解决,请追加提问。祝好运!追问
我换了hadoop 0.20.203的版本,hadoop能启动了,jps查看各进程也正常
就是hadoop有问题,这是什么情况
大神能留个Q吗
这个错误是系统没有找到hadoop这个命令,提示“hadoop: command not found”。
hadoop这个命令在 $HADOOP_HOME/bin下面,你运行 $HADOOP_HOME/bin/hadoop jar xxxxx
这样就指明了hadoop命令的具体路径。
为了方便执行hadoop命令,你可以修改 ~/,bashrc 文件或者 /etc/profile文件,在最后面加入
export PATH=$PATH:$HADOOP_HOME/bin
保存后退出,重新打开一个新的shell,就能直接敲hadoop命令了。
如果依然提示上述错误,说明HADOOP_HOME变量没有定义,你首先运行 “echo $HADOOP_HOME”命令(注意echo后面要有个空格),验证一下你是否定义了HADOOP_HOME这个变量。如果输出了一个具体的路径,例如:/home/user/hadoop-0.20之类的,说明你定义了HADOOP_HOME这个变量。
如果没有定义HADOOP_HOME这个变量,你需要在 ~/,bashrc 文件或者 /etc/profile文件中添加HADOOP_HOME变量和值。
解决hadoop本地库问题
执行hadoop的相关命令时,总提示如下:
]$ hadoop fs -ls / 2020-03-09 16:09:39,384 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决:
在当前用户的bashrc文件里面添加:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
以上是关于hadoop本地库无法加载的主要内容,如果未能解决你的问题,请参考以下文章
Hadoop“无法为您的平台加载native-hadoop库”警告
Hadoop 2.7.3 WARN util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类
Pyspark Mac NativeCodeLoader:无法为您的平台加载 native-hadoop 库......在适用的情况下使用内置 java 类