Spark无法为您的平台加载native-hadoop库

can*_*ino 28 hadoop apache-spark hadoop2

我是Ubuntu 16.04的假人,拼命想让Spark工作.我试图使用stackoverflow上找到的答案解决我的问题,但我无法解决任何问题.使用./spark-shellbin文件夹中的命令启动spark 我收到此消息

WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable".
Run Code Online (Sandbox Code Playgroud)

我正在使用Java版本

java version "1.8.0_101
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode).
Run Code Online (Sandbox Code Playgroud)

Spark是最新版本:2.0.1与Hadoop 2. 7.我还重新使用了较旧的Spark软件包,1.6.2与Hadoop 2.4,但我得到了相同的结果.我也尝试在Windows上安装Spark,但它似乎比在Ubuntu上执行它更难.

我还尝试从我的笔记本电脑上运行Spark上的一些命令:我可以定义一个对象,我可以创建一个RDD并将其存储在缓存中,我可以使用类似的函数.map(),但是当我尝试运行该函数时,.reduceByKey()我会收到几个错误字符串消息.

可能是Hadoop库是为32位编译的,而我是在64位?

谢谢.

小智 24

修复步骤:

  • 下载Hadoop二进制文件
  • 解压缩到您选择的目录
  • 设置HADOOP_HOME为指向该目录.
  • 添加$HADOOP_HOME/lib/nativeLD_LIBRARY_PATH.

  • 最好通过编辑`SPARK_HOME`中的`conf/spark-env.sh`来使用Spark配置文件. (3认同)
  • 为什么需要这个?我们是否需要这个来运行 Spark? (3认同)