[HADOOP] Docker-spark에서 Hadoop "플랫폼에 native-hadoop 라이브러리를로드 할 수 없습니다"오류가 발생합니까?
HADOOPDocker-spark에서 Hadoop "플랫폼에 native-hadoop 라이브러리를로드 할 수 없습니다"오류가 발생합니까?
나는 도커 - 스파크를 사용하고있다. 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
이 스파크 컨테이너의 환경 변수는 다음과 같습니다.
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 "플랫폼에 native-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 비트 라이브러리입니다.
(2) HADOOP_OPTS 환경 변수를 추가하십시오.
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/native"
작동하지 않으며 같은 오류를보고합니다.
(3) HADOOP_OPTS 및 HADOOP_COMMON_LIB_NATIVE_DIR 환경 변수를 추가하십시오.
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
여전히 작동하지 않으며 같은 오류를보고합니다.
아무도 문제에 대한 단서를 줄 수 있습니까?
해결법
-
==============================
1.LD_LIBRARY_PATH에 Hadoop 라이브러리를 추가하면이 문제를 해결할 수 있습니다.
LD_LIBRARY_PATH에 Hadoop 라이브러리를 추가하면이 문제를 해결할 수 있습니다.
export LD_LIBRARY_PATH="$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH"
from https://stackoverflow.com/questions/30369380/hadoop-unable-to-load-native-hadoop-library-for-your-platform-error-on-docker by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 특정 날짜까지 하이브를 사용하여 파티션을 추가하는 방법은 무엇입니까? (0) | 2019.06.14 |
---|---|
[HADOOP] HBase의 타임 스탬프 기반 스캔? (0) | 2019.06.14 |
[HADOOP] hadoop의 새로운 디렉토리에서 .gz 파일의 압축을 해제하는 방법은 무엇입니까? (0) | 2019.06.14 |
[HADOOP] `yarn.scheduler.maximum-allocation-mb`와`yarn.nodemanager.resource.memory-mb`의 차이점은 무엇입니까? (0) | 2019.06.14 |
[HADOOP] Airflow에서 실패한 작업을 다시 시작하는 방법 (0) | 2019.06.14 |