Sto usando docker-spark. Dopo l'avvio spark-shell
, emette:Hadoop "Impossibile caricare la libreria nativa-hadoop per la tua piattaforma" su docker-spark?
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
Le variabili di ambiente di questa spark container
sono:
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"
Dopo aver ricordato Hadoop “Unable to load native-hadoop library for your platform” error on CentOS, ho fatto quanto segue:
(1) Controllare la libreria 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
Sì, è la libreria 64-bit
.
(2) Prova ad aggiungere la variabile di ambiente HADOOP_OPTS
:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/native"
Non funziona, e riporta lo stesso errore.
(3) Prova ad aggiungere la variabile HADOOP_OPTS
e HADOOP_COMMON_LIB_NATIVE_DIR
ambiente:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
Si continua a non funzionare, e riporta lo stesso errore.
Qualcuno potrebbe dare qualche indizio sul problema?
grazie, che ha risolto il mio problema. Mi chiedo come sia successo, dato che non ho ricevuto l'errore dopo un'installazione pulita di Spark ... – jimijazz
Strano, non è menzionato nel documento Spark (https://spark.apache.org/docs/latest/hadoop -provided.html) ma funziona! Grazie. –