data - cloudera hadoop tutorial español
¿Por qué./bin/spark-shell le da a WARN NativeCodeLoader: No se puede cargar la biblioteca nativa-hadoop para su plataforma? (2)
En Mac OS X, compilé Spark desde las fuentes usando el siguiente comando:
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
Cuando comencé ./bin/spark-shell
noté el siguiente mensaje WARN:
WARN NativeCodeLoader: no se puede cargar la biblioteca nativa-hadoop para su plataforma ... usando clases java incorporadas donde corresponda
¿Cuál podría ser el 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
...
En mi experiencia, si /sparkDir/conf
en /sparkDir/conf
y cambia el nombre de spark-env.sh.template
a spark-env.sh
, y luego configura JAVA_OPTS
y hadoop_DIR
, funciona.
También tendrá que editar esta línea /etc/profile
:
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH
Plataformas compatibles de la documentación de la Guía de bibliotecas nativas en Apache Hadoop dice:
La biblioteca hadoop nativa solo es compatible con las plataformas * nix. La biblioteca no funciona con Cygwin o la plataforma Mac OS X.
La biblioteca hadoop nativa se utiliza principalmente en la plataforma GNU / Linus y se ha probado en estas distribuciones:
- RHEL4 / Fedora
- Ubuntu
- Gentoo
En todas las distribuciones anteriores, una biblioteca hadoop nativa de 32/64 bits funcionará con una jvm de 32/64 bits respectiva.
Parece que el mensaje WARN no debe tenerse en cuenta en Mac OS X ya que la biblioteca nativa no existe simplemente para la plataforma.