2014-05-09 10 views
17

Su Mac OS X, ho compilato Spark dalle sorgenti usando il seguente comando:Perché ./bin/spark-shell fornisce WARN NativeCodeLoader: Impossibile caricare la libreria nativa-hadoop per la tua piattaforma?

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 

Quando ho iniziato ./bin/spark-shell ho notato il seguente messaggio WARN:

WARN NativeCodeLoader: Impossibile caricare Nativa libreria hadoop per la tua piattaforma ... utilizzando classi builtin-java dove applicabile

Quale potrebbe essere il problema?

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 
... 
+0

Quello che porta a credere che ci sia una libreria per OSX? – bmargulies

+2

Niente. Sono un semplice utente finale che quando ha notato l'avviso si aspettava una risposta alle mie e alle tue domande. Esiste una tale biblioteca? Potrei usarlo con Spark? Si prega di guidare/consigliare. –

+0

Ma non mi stai ponendo una domanda di programmazione, lo invio. – bmargulies

risposta

16

Supported Platforms della documentazione nativi Librerie Guida in Apache Hadoop legge:

La biblioteca Hadoop nativo è supportato solo su piattaforme * nix. La libreria non funziona con Cygwin o la piattaforma Mac OS X.

La biblioteca Hadoop nativo viene utilizzato principalmente sulla piattaforma GNU/Linus e è stato testato su queste distribuzioni:

  • RHEL4/Fedora
  • Ubuntu
  • Gentoo

On tutte le distribuzioni precedenti una libreria hadoop nativa a 32/64 bit funzionerà con un rispettivo jvm 32/64 bit.

Sembra che il messaggio WARN debba essere ignorato su Mac OS X poiché la libreria nativa non esiste semplicemente per la piattaforma.

+2

è brutto dover usare "classi built-in-java dove applicabile"? devo impegnarmi a installare le librerie native di hadoop (sono già su Linux) – architectonic

3

Nella mia esperienza, se si cd nel /sparkDir/conf e rinominare il spark-env.sh.template a spark-env.sh, e quindi impostare la JAVA_OPTS e hadoop_DIR, funziona.

Avrete anche modificare questa linea /etc/profile:

export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH 
+0

Cosa sarebbe HADOOP_HOME nel caso in cui Hadoop non sia installato? (ad esempio, Spark installato direttamente dal sito Apache ma che lo utilizza per inviare lavori a un cluster Hadoop basato su YARN in remoto (EMR)) – DavidJ

Problemi correlati