首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么./bin/spark-shell会给出WARN NativeCodeLoader: Unable to load native-hadoop library for your platform?

为什么./bin/spark-shell会给出WARN NativeCodeLoader: Unable to load native-hadoop library for your platform?
EN

Stack Overflow用户
提问于 2014-05-10 03:44:08
回答 2查看 18.9K关注 0票数 23

在Mac OS X上,我使用以下命令从源代码编译了Spark:

代码语言:javascript
复制
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时,我注意到以下警告消息:

WARN NativeCodeLoader:无法为您的平台加载本机hadoop库...在适用的情况下使用内置java类

可能的问题是什么?

代码语言:javascript
复制
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

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-10 03:56:48

Apache Hadoop中的本地库指南文档的Supported Platforms为:

本机Hadoop库仅在*nix平台上受支持。该库不适用于Cygwin或Mac OS X平台。

原生hadoop库主要在GNU/Linus平台上使用,并在以下发行版上进行了测试:

  • RHEL4/Fedora
  • Ubuntu
  • Gentoo

在上述所有发行版上,32/64位原生hadoop库都可以与相应的32/64位jvm一起使用。

似乎应该忽略Mac上的警告消息,因为本地库并不是简单地针对该平台而存在的。

票数 19
EN

Stack Overflow用户

发布于 2016-02-04 09:46:13

根据我的经验,如果您通过cd进入/sparkDir/conf并将spark-env.sh.template重命名为spark-env.sh,然后设置JAVA_OPTShadoop_DIR,就可以正常工作。

您还必须编辑以下/etc/profile行:

代码语言:javascript
复制
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23572724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档