Ich verwende docker-spark. Nach spark-shell
beginnen, gibt sie:Hadoop "Kann Native-Hadoop-Bibliothek für Ihre Plattform nicht laden" Fehler auf Docker-Funke?
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
Die Umgebungsvariablen dieser spark container
sind:
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"
Nach dem Hinweis Hadoop “Unable to load native-hadoop library for your platform” error on CentOS, ich habe folgendes getan:
(1) Überprüfen Sie die hadoop
Bibliothek :
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
Ja, es ist 64-bit
Bibliothek.
(2) Versuchen Sie, die HADOOP_OPTS
Umgebungsvariable hinzu:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/native"
Es funktioniert nicht, und meldet den gleichen Fehler. Versuchen
(3) Zugabe der HADOOP_OPTS
und HADOOP_COMMON_LIB_NATIVE_DIR
Umgebungsvariable:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
Es funktioniert immer noch nicht, und meldet den gleichen Fehler.
Könnte jemand Hinweise zu diesem Problem geben?
Dank, dass mein Problem gelöst. Ich frage mich, wie das passieren konnte, da ich den Fehler nach einer sauberen Spark-Installation nicht bekommen habe ... – jimijazz
Seltsam, es ist nicht im Spark-Dokument erwähnt (https://spark.apache.org/docs/latest/hadoop -provided.html) aber es funktioniert! Vielen Dank. –