我正在尝试在Windows上设置Apache Spark。
搜索了一下后,我明白独立模式就是我想要的。 我要下载哪些二进制文件才能在Windows中运行Apache spark?我在火花下载页面看到了带有hadoop和cdh的发行版。
我在网上没有引用此内容。我们非常感谢您的分步指南。
答案 0 :(得分:132)
以本地模式安装Spark的步骤:
Install Java 7 or later。
要测试java安装是否完成,请打开命令提示符,键入java
并按Enter键。
如果您收到消息'Java' is not recognized as an internal or external command.
您需要配置环境变量,JAVA_HOME
和PATH
以指向jdk的路径。
在SCALA_HOME
转到"高级系统设置"中设置Control Panel\System and Security\System
并在环境变量的PATH变量中添加%SCALA_HOME%\bin
。
从Python Download link安装Python 2.6或更高版本。
SBT_HOME
设置为值为<<SBT PATH>>
的环境变量。 winutils.exe
。由于我们没有在Windows上安装本地Hadoop,因此我们必须下载winutils.exe
并将其放在创建的bin
主目录下的Hadoop
目录中。
在环境变量中设置HADOOP_HOME = <<Hadoop home directory>>
。 我们将使用预先构建的Spark包,因此请为Hadoop Spark download选择Spark预构建包。下载并解压缩。
设置SPARK_HOME
并在环境变量的PATH变量中添加%SPARK_HOME%\bin
。
运行命令:spark-shell
在浏览器中打开http://localhost:4040/
以查看SparkContext Web UI。
答案 1 :(得分:31)
我发现Windows上最简单的解决方案是从源代码构建。
您几乎可以遵循本指南:http://spark.apache.org/docs/latest/building-spark.html
下载并安装Maven,并将MAVEN_OPTS
设置为指南中指定的值。
但如果你只是在玩Spark,并且实际上不需要它在Windows上运行,因为你自己的机器运行Windows的任何其他原因,我强烈建议你安装Spark在Linux虚拟机上。最简单的入门方法可能是下载Cloudera或Hortonworks制作的现成图像,并使用捆绑版本的Spark,或者从源代码或从spark网站获得的已编译二进制文件中安装您自己的图像。
答案 2 :(得分:20)
您可以从这里下载spark:
http://spark.apache.org/downloads.html
我推荐你这个版本: Hadoop 2(HDP2,CDH5)
从1.0.0版开始,有 .cmd 脚本在Windows中运行spark。
使用7zip或类似方法解压缩。
首先,您可以执行 /bin/spark-shell.cmd --master local [2]
要配置您的实例,您可以点击以下链接:http://spark.apache.org/docs/latest/
答案 3 :(得分:17)
您可以使用以下方式设置Spark:
虽然有build Spark from Source的各种方法 首先,我尝试使用SBT构建Spark源,但这需要hadoop。为了避免这些问题,我使用了预先构建的版本。
而不是Source,我为hadoop 2.x版本下载了Prebuilt版本并运行它。 为此,您需要安装Scala作为先决条件。
我在这里整理了所有步骤:
How to run Apache Spark on Windows7 in standalone mode
希望它能帮助你...... !!!
答案 4 :(得分:8)
尝试使用spark-2.x.x,构建Spark源代码对我来说不起作用。
所以,虽然我不打算使用Hadoop,但我下载了带有hadoop嵌入式的预制Spark:spark-2.0.0-bin-hadoop2.7.tar.gz
在解压缩的目录上指向SPARK_HOME,然后添加到PATH
:;%SPARK_HOME%\bin;
创建一个放置可执行文件winutils.exe的目录。例如,C:\ SparkDev \ x64。添加指向此目录的环境变量%HADOOP_HOME%
,然后将%HADOOP_HOME%\bin
添加到PATH。
使用命令行创建目录:
mkdir C:\tmp\hive
使用您下载的可执行文件,向您创建的文件目录添加完整权限,但使用unixian形式:
%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
键入以下命令行:
%SPARK_HOME%\bin\spark-shell
Scala命令行输入应自动显示。
备注:您无需单独配置Scala。它也是内置的。
答案 5 :(得分:3)
以下修复程序让它在Windows中运行而不重建所有内容 - 例如,如果您没有最新版本的MS-VS。 (您将需要一个Win32 C ++编译器,但您可以免费安装MS VS Community Edition。)
我已经尝试使用Spark 1.2.2和mahout 0.10.2以及2015年11月的最新版本。存在许多问题,包括Scala代码尝试运行bash脚本这一事实(mahout / bin / mahout)当然不起作用,sbin脚本没有移植到windows,如果没有安装hadoop,则会丢失winutils。
(1)安装scala,然后将spark / hadoop / mahout解压缩到C:的根目录下各自的产品名称下。
(2)将\ mahout \ bin \ mahout重命名为mahout.sh.was(我们不需要它)
(3)编译以下Win32 C ++程序并将可执行文件复制到名为C:\ mahout \ bin \ mahout的文件中(右边的 - 没有.exe后缀,就像一个Linux可执行文件)
#include "stdafx.h"
#define BUFSIZE 4096
#define VARNAME TEXT("MAHOUT_CP")
int _tmain(int argc, _TCHAR* argv[]) {
DWORD dwLength; LPTSTR pszBuffer;
pszBuffer = (LPTSTR)malloc(BUFSIZE*sizeof(TCHAR));
dwLength = GetEnvironmentVariable(VARNAME, pszBuffer, BUFSIZE);
if (dwLength > 0) { _tprintf(TEXT("%s\n"), pszBuffer); return 0; }
return 1;
}
(4)创建脚本\ mahout \ bin \ mahout.bat并粘贴下面的内容,尽管_CP类路径中的jar的确切名称将取决于spark的版本和mahout。更新每个安装的任何路径。使用8.3路径名称,不含空格。请注意,您不能在类路径中使用通配符/星号。
set SCALA_HOME=C:\Progra~2\scala
set SPARK_HOME=C:\spark
set HADOOP_HOME=C:\hadoop
set MAHOUT_HOME=C:\mahout
set SPARK_SCALA_VERSION=2.10
set MASTER=local[2]
set MAHOUT_LOCAL=true
set path=%SCALA_HOME%\bin;%SPARK_HOME%\bin;%PATH%
cd /D %SPARK_HOME%
set SPARK_CP=%SPARK_HOME%\conf\;%SPARK_HOME%\lib\xxx.jar;...other jars...
set MAHOUT_CP=%MAHOUT_HOME%\lib\xxx.jar;...other jars...;%MAHOUT_HOME%\xxx.jar;...other jars...;%SPARK_CP%;%MAHOUT_HOME%\lib\spark\xxx.jar;%MAHOUT_HOME%\lib\hadoop\xxx.jar;%MAHOUT_HOME%\src\conf;%JAVA_HOME%\lib\tools.jar
start "master0" "%JAVA_HOME%\bin\java" -cp "%SPARK_CP%" -Xms1g -Xmx1g org.apache.spark.deploy.master.Master --ip localhost --port 7077 --webui-port 8082 >>out-master0.log 2>>out-master0.err
start "worker1" "%JAVA_HOME%\bin\java" -cp "%SPARK_CP%" -Xms1g -Xmx1g org.apache.spark.deploy.worker.Worker spark://localhost:7077 --webui-port 8083 >>out-worker1.log 2>>out-worker1.err
...you may add more workers here...
cd /D %MAHOUT_HOME%
"%JAVA_HOME%\bin\java" -Xmx4g -classpath "%MAHOUT_CP%" "org.apache.mahout.sparkbindings.shell.Main"
不应更改变量MAHOUT_CP的名称,因为它在C ++代码中引用。
当然,您可以注释掉启动Spark master和worker的代码,因为Mahout会根据需要运行Spark;我只是把它放在批处理作业中,向你展示如果你想使用没有Mahout的Spark的话,如何启动它。
(5)以下教程是一个很好的开始:
https://mahout.apache.org/users/sparkbindings/play-with-shell.html
您可以在以下位置调出Mahout Spark实例:
"C:\Program Files (x86)\Google\Chrome\Application\chrome" --disable-web-security http://localhost:4040
答案 6 :(得分:2)
Ani Menon的指南(thx!)几乎在Windows 10上为我工作,我只需要从git(当前hadoop-2.8.1)获得更新的winutils.exe:https://github.com/steveloughran/winutils
答案 7 :(得分:1)
以下是在Windows 10上安装spark并从python运行它的七个步骤:
步骤1:将spark 2.2.0 tar(磁带存档)gz文件从此链接下载到任意文件夹F - https://spark.apache.org/downloads.html。解压缩并将解压缩的文件夹复制到所需的文件夹A.将spark-2.2.0-bin-hadoop2.7文件夹重命名为spark。
让spark文件夹的路径为C:\ Users \ Desktop \ A \ spark
步骤2:将hardoop 2.7.3 tar gz文件从此链接下载到同一文件夹F - https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz。解压缩并将解压缩的文件夹复制到同一文件夹A.将文件夹名称从Hadoop-2.7.3.tar重命名为hadoop。 让hadoop文件夹的路径为C:\ Users \ Desktop \ A \ hadoop
步骤3:创建一个新的记事本文本文件。将此空记事本文件另存为winutils.exe(保存类型:所有文件)。将此O KB winutils.exe文件复制到spark中的bin文件夹 - C:\ Users \ Desktop \ A \ spark \ bin
步骤4:现在,我们必须将这些文件夹添加到系统环境中。
4a:创建系统变量(不是用户变量,因为用户变量将继承系统变量的所有属性)变量名称:SPARK_HOME 变量值:C:\ Users \ Desktop \ A \ spark
查找路径系统变量,然后单击编辑。您将看到多个路径。不要删除任何路径。添加此变量值 - ; C:\ Users \ Desktop \ A \ spark \ bin
4b:创建系统变量
变量名称:HADOOP_HOME 变量值:C:\ Users \ Desktop \ A \ hadoop
查找路径系统变量,然后单击编辑。添加此变量值 - ; C:\ Users \ Desktop \ A \ hadoop \ bin
4c:创建系统变量变量名:JAVA_HOME 在Windows中搜索Java。右键单击并单击打开文件位置。您将不得不再次右键单击任何一个java文件,然后单击打开文件位置。您将使用此文件夹的路径。或者您可以搜索C:\ Program Files \ Java。我在系统上安装的Java版本是jre1.8.0_131。 变量值:C:\ Program Files \ Java \ jre1.8.0_131 \ bin
查找路径系统变量,然后单击编辑。添加此变量值 - ; C:\ Program Files \ Java \ jre1.8.0_131 \ bin
步骤5:打开命令提示符并转到spark bin文件夹(键入cd C:\ Users \ Desktop \ A \ spark \ bin)。键入spark-shell。
C:\Users\Desktop\A\spark\bin>spark-shell
可能需要一些时间并发出一些警告。最后,它会显示出来 欢迎来到火花版2.2.0
步骤6:键入exit()或重新启动命令提示符并再次转到spark bin文件夹。输入pyspark:
C:\Users\Desktop\A\spark\bin>pyspark
它会显示一些警告和错误但忽略不计。它有效。
第7步:您的下载已完成。如果你想直接从python shell运行spark,那么: 转到python文件夹中的Scripts并输入
pip install findspark
在命令提示符下。
在python shell中
import findspark
findspark.init()
导入必要的模块
from pyspark import SparkContext
from pyspark import SparkConf
如果您想跳过导入findspark并初始化它的步骤,请按照中给出的步骤进行操作 importing pyspark in python shell
答案 8 :(得分:0)
这是一个从任何python控制台运行的简单最小脚本。 它假定您已将已下载的Spark库解压缩到C:\ Apache \ spark-1.6.1。
这适用于Windows,无需构建任何东西,解决了Spark会抱怨递归酸洗的问题。
import sys
import os
spark_home = 'C:\Apache\spark-1.6.1'
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python\lib\pyspark.zip'))
sys.path.insert(0, os.path.join(spark_home, 'python\lib\py4j-0.9-src.zip'))
# Start a spark context:
sc = pyspark.SparkContext()
#
lines = sc.textFile(os.path.join(spark_home, "README.md")
pythonLines = lines.filter(lambda line: "Python" in line)
pythonLines.first()
答案 9 :(得分:0)
Cloudera和Hortonworks是开始使用 Microsoft Windows中的HDFS。您还可以使用VMWare或VBox来启动虚拟机,以使用Scala,R,Java,Python建立HDFS和Spark,Hive,HBase,Pig,Hadoop的构建。