복붙노트

[HADOOP] 왜 ./bin/spark-shell에서 WARN NativeCodeLoader를 제공합니까? 해당 플랫폼에 native-hadoop 라이브러리를로드 할 수 없습니까?

HADOOP

왜 ./bin/spark-shell에서 WARN NativeCodeLoader를 제공합니까? 해당 플랫폼에 native-hadoop 라이브러리를로드 할 수 없습니까?

Mac OS X에서는 다음 명령을 사용하여 소스에서 Spark를 컴파일했습니다.

jacek:~/oss/spark
$ SPARK_HADOOP_VERSION=2.4.0 SPARK_YARN=true SPARK_HIVE=true SPARK_GANGLIA_LGPL=true xsbt
...

[info] Set current project to root (in build file:/Users/jacek/oss/spark/)
> ; clean ; assembly
...
[info] Packaging /Users/jacek/oss/spark/examples/target/scala-2.10/spark-examples-1.0.0-SNAPSHOT-hadoop2.4.0.jar ...
[info] Done packaging.
[info] Done packaging.
[success] Total time: 1964 s, completed May 9, 2014 5:07:45 AM

./bin/spark-shell을 시작했을 때 다음과 같은 경고 메시지가 나타났습니다.

무엇이 문제일까요?

jacek:~/oss/spark
$ ./bin/spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
14/05/09 21:11:17 INFO SecurityManager: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
14/05/09 21:11:17 INFO SecurityManager: Changing view acls to: jacek
14/05/09 21:11:17 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(jacek)
14/05/09 21:11:17 INFO HttpServer: Starting HTTP Server
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.0.0-SNAPSHOT
      /_/

Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0)
Type in expressions to have them evaluated.
Type :help for more information.
...
14/05/09 21:11:49 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
...

해결법

  1. ==============================

    1.Apache Hadoop의 네이티브 라이브러리 설명서에서 지원되는 플랫폼은 다음과 같습니다.

    Apache Hadoop의 네이티브 라이브러리 설명서에서 지원되는 플랫폼은 다음과 같습니다.

    네이티브 라이브러리가 플랫폼에 존재하지 않기 때문에 WARN 메시지는 Mac OS X에서 무시되어야합니다.

  2. ==============================

    2.내 경험에 따르면, / sparkDir / conf에 들어가서 spark-env.sh.template의 이름을 spark-env.sh로 변경 한 다음 JAVA_OPTS와 hadoop_DIR을 설정하면 작동합니다.

    내 경험에 따르면, / sparkDir / conf에 들어가서 spark-env.sh.template의 이름을 spark-env.sh로 변경 한 다음 JAVA_OPTS와 hadoop_DIR을 설정하면 작동합니다.

    이 / etc / profile 행을 편집해야합니다.

    export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH
    
  3. from https://stackoverflow.com/questions/23572724/why-does-bin-spark-shell-give-warn-nativecodeloader-unable-to-load-native-had by cc-by-sa and MIT license