当前位置: 首页 > 面试题库 >

Hadoop在docker-spark上出现“无法为您的平台加载本地hadoop库”错误?

井洲
2023-03-14
问题内容

我正在使用docker-spark。启动后spark- shell,它输出:

15/05/21 04:28:22 DEBUG NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError:no hadoop in java.library.path
15/05/21 04:28:22 DEBUG NativeCodeLoader: java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

其环境变量spark container是:

bash-4.1# export
declare -x BOOTSTRAP="/etc/bootstrap.sh"
declare -x HADOOP_COMMON_HOME="/usr/local/hadoop"
declare -x HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"
declare -x HADOOP_HDFS_HOME="/usr/local/hadoop"
declare -x HADOOP_MAPRED_HOME="/usr/local/hadoop"
declare -x HADOOP_PREFIX="/usr/local/hadoop"
declare -x HADOOP_YARN_HOME="/usr/local/hadoop"
declare -x HOME="/"
declare -x HOSTNAME="sandbox"
declare -x JAVA_HOME="/usr/java/default"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/default/bin:/usr/local/spark/bin:/usr/local/hadoop/bin"
declare -x PWD="/"
declare -x SHLVL="3"
declare -x SPARK_HOME="/usr/local/spark"
declare -x SPARK_JAR="hdfs:///spark/spark-assembly-1.3.0-hadoop2.4.0.jar"
declare -x TERM="xterm"
declare -x YARN_CONF_DIR="/usr/local/hadoop/etc/hadoop"

在CentOS上提到Hadoop“无法为您的平台加载本机Hadoop库”错误之后,我做了以下工作:

(1)检查hadoop库:

bash-4.1# file /usr/local/hadoop/lib/native/libhadoop.so.1.1.0
/usr/local/hadoop/lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

是的,它是64-bit图书馆。

(2)尝试添加HADOOP_OPTS环境变量:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/native"

它不起作用,并报告相同的错误。

(3)尝试添加HADOOP_OPTSand HADOOP_COMMON_LIB_NATIVE_DIR环境变量:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

它仍然不起作用,并报告相同的错误。

有人可以提供有关此问题的一些线索吗?


问题答案:

Hadoop库添加到LD_LIBRARY_PATH解决此问题:

export LD_LIBRARY_PATH="$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH"


 类似资料:
  • 我在用Docker-Spark。启动后,它输出: 这个的环境变量是: 它仍然不能工作,并报告相同的错误。 有人能给出一些关于这个问题的线索吗?

  • 问题内容: 我目前正在运行 CentO 的服务器上配置hadoop 。运行或时,出现以下错误: WARN util.NativeCodeLoader:无法为您的平台加载本地hadoop库…在适当情况下使用内置java类 我正在运行 Hadoop 2.2.0。 在线进行搜索会显示以下链接:http : //balanceandbreath.blogspot.ca/2013/01/utilnative

  • 问题内容: 我目前正在运行CentO的服务器上配置hadoop 。运行或时,出现以下错误: WARN util.NativeCodeLoader:无法为你的平台加载本地hadoop库…在适当情况下使用内置java类 我正在运行Hadoop 2.2.0。 在线进行搜索会显示以下链接:http : //balanceandbreath.blogspot.ca/2013/01/utilnativecod

  • 我目前正在运行CentOS的服务器上配置hadoop。当运行或时,会出现以下错误: 警告Util.NativeCodeLoader:无法为您的平台加载native-hadoop库...在适用的情况下使用builtin-java类 我运行的是Hadoop 2.2.0。 但是,Hadoop2.x上目录的内容似乎不同,所以我不知道该怎么办。 我还在中添加了这两个环境变量: 导出hadoop_opts=“

  • 我正在尝试从Spark开始。我的库中有Hadoop(3.3.1)和Spark(3.2.2)。我已经将SPARK_HOME、PATH、HADOOP_HOME和LD_LIBRARY_PATH设置为各自的路径。我还在运行JDK 17(在终端中回声和-version工作正常)。 然而,我仍然得到以下错误: 有没有办法解决这个问题?

  • 会是什么原因呢?我不明白。 是我的输出文件。