Używam docker-spark. Po uruchomieniu spark-shell
, wyprowadza:Hadoop "Nie można załadować natywnej biblioteki hadoopów dla twojej platformy" błąd iskry dokowania?
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
Zmienne środowiskowe tego spark container
są:
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"
po odnosząc Hadoop “Unable to load native-hadoop library for your platform” error on CentOS, mam zrobić, co następuje:
(1) Sprawdź bibliotekę 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
Tak, jest to biblioteka 64-bit
.
(2) Spróbuj dodać zmienną środowiskową HADOOP_OPTS
:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/native"
To nie działa, i zgłasza ten sam błąd.
(3) Spróbuj dodać zmienną HADOOP_OPTS
i HADOOP_COMMON_LIB_NATIVE_DIR
środowiska:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
Nadal nie działa, i zgłasza ten sam błąd.
Czy można podać jakieś wskazówki dotyczące problemu?
Dzięki, że rozwiązać mój problem. Zastanawiam się, jak to się stało, ponieważ nie dostałem błędu po czystej instalacji Sparka ... – jimijazz
Dziwne, nie jest to wspomniane w dokumencie Spark (https://spark.apache.org/docs/latest/hadoop -provided.html), ale działa! Dzięki. –