Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让Windows上的Apache Spark在Linux上访问Hadoop?_Linux_Windows_Hadoop_Apache Spark_Hortonworks Data Platform - Fatal编程技术网

如何让Windows上的Apache Spark在Linux上访问Hadoop?

如何让Windows上的Apache Spark在Linux上访问Hadoop?,linux,windows,hadoop,apache-spark,hortonworks-data-platform,Linux,Windows,Hadoop,Apache Spark,Hortonworks Data Platform,首先,我几乎没有关于ApacheHadoop和ApacheSpark的经验 我现在想要的是: Hadoop在Hortonworks沙盒2.1上运行,该沙盒安装在Windows7机器上 Spark shell和Spark程序在Windows 7机器上运行,该机器与上述机器相同 Spark shell和Spark程序可以在Hortonworks沙盒2.1上使用Hadoop 我想在Windows上运行Spark的原因是,我想在我熟悉的Windows 7机器上开发Spark程序 安装Hortonwo

首先,我几乎没有关于ApacheHadoop和ApacheSpark的经验

我现在想要的是:

  • Hadoop在Hortonworks沙盒2.1上运行,该沙盒安装在Windows7机器上
  • Spark shell和Spark程序在Windows 7机器上运行,该机器与上述机器相同
  • Spark shell和Spark程序可以在Hortonworks沙盒2.1上使用Hadoop
我想在Windows上运行Spark的原因是,我想在我熟悉的Windows 7机器上开发Spark程序

安装Hortonworks沙盒2.1非常简单

然后,我尝试在Windows 7机器上构建Spark,如下所示:

  • 安装JDK 7、Git、sbt(JDK 8不适用于sbt,至少目前是这样:2014.5.8)
  • git克隆git://github.com/apache/spark.git
    (如中所述,当spark_-Thread=true时,spark-0.9.1不使用Hadoop 2.4.0编译)
  • 运行
    cmd
  • cd
    到spark根目录
  • 设置SPARK\u HADOOP\u VERSION=2.4.0
    (Hortonworks沙盒2.1上的HADOOP是2.4.0.2.1.1.0-385)
  • set SPARK\u warn=true
  • sbt组件
完成了。成功。
但是当我运行bin\spark shell时,出现了以下警告

14/05/08 11:26:15 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/05/08 11:26:15 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
    at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
    at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
    ...
显然spark shell需要winutil.exe。
我发现winutils.exe是Hadoop的一部分,但它没有包含在正常的预构建发行版中。
所以我在Windows上构建了Hadoop。
遇到一些麻烦,我设法构建了
hadoop-2.4.0.tar.gz
,其中包括winutils.exe和hadoop.dll。

但是。。。我不知道从现在起该怎么办。
如何安装或应用内置的Hadoop包,以便Spark能够在Hortonworks沙盒2.1上访问Hadoop


欢迎提出任何建议。

我已成功使用Spark 1.0.0设置了上述配置

这有点长,但大多数问题都与配置有关。也许一个有经验的Spark+Hadoop开发人员不会有问题,除了下面我要写的那一个。
上面的问题是针对Spark 0.9.1的,它现在已经过时了,所以回答它没什么用

但有一个问题是跨平台问题,仍然适用于Spark 1.0.0。
我已经为它创建了一个拉取请求:
如果感兴趣,请点击链接

更新:上述跨平台问题已在1.3.0版上解决