windows spark安装教程

老刘

Windows 下 Apache Spark 安装配置全攻略

Apache Spark 是一个强大的分布式计算框架,广泛应用于大数据处理和分析。对于想在个人 Windows 电脑上学习 Spark 的开发者或数据分析爱好者来说,在 Windows 环境下安装和配置 Spark 可能会遇到一些特有的问题。本文将提供一个从零开始的详细教程,即使是电脑新手也能跟着一步步成功安装。

一、 安装前准备:搭建 Spark 的运行环境

Spark 本身是用 Scala 语言编写的,运行在 Java 虚拟机(JVM)上。因此,在安装 Spark 之前,我们必须先准备好它的“地基”。

1. 安装 Java 开发工具包 (JDK)

Spark 需要 Java 8 或更高版本的支持。我们首先来安装 JDK。

  • 第一步:下载 JDK 访问 Oracle 官网的 Java 下载页面,找到适合 Windows 系统的 JDK 安装包(通常是 .exe 文件)。建议选择长期支持版本,例如 JDK 8、JDK 11 或 JDK 17。对于 Spark 学习,JDK 8 的兼容性最为广泛。

  • windows spark安装教程

    第二步:安装 JDK

    1. 双击下载好的 .exe 安装文件。
    2. 安装过程基本就是一路点击“下一步”。你可以更改安装路径,但建议路径中不要包含中文或空格,例如可以安装到 C:\Java\jdk1.8.0_381
    3. 安装程序可能会提示你安装 JRE(Java 运行时环境),同样建议安装。
  • 第三步:配置环境变量(关键步骤) 这是让系统在任何位置都能识别 Java 命令的关键。

    1. 在桌面或文件资源管理器中,右键点击“此电脑”,选择“属性”。
    2. 点击“高级系统设置”,在弹出的窗口中选择“环境变量”。
    3. 在“系统变量”区域,点击“新建”。
      • 变量名JAVA_HOME
      • 变量值:你的 JDK 安装路径,例如 C:\Java\jdk1.8.0_381
    4. 找到系统变量中的 Path 变量,选中后点击“编辑”。
    5. 点击“新建”,添加一条新记录:%JAVA_HOME%\bin
    6. 点击“确定”保存所有更改。
  • 第四步:验证安装

    1. 按下 Win + R 键,输入 cmd 打开命令提示符。
    2. 输入命令 java -version 并回车。
    3. 如果成功显示 Java 的版本信息(例如 “java version “1.8.0_381””),说明 JDK 安装和配置成功。

2. 安装 Scala(可选但推荐)

虽然 Spark 支持用 Java、Python 和 R 编程,但其核心是用 Scala 写的。安装 Scala 可以帮助你更好地理解 Spark,并运行一些 Scala 示例。

  • 下载与安装:前往 Scala 官网下载 Windows 安装包(.msi 文件)。安装过程同样简单,建议安装到无中文空格的路径,如 C:\Scala
  • 配置环境变量
    1. 像配置 Java 一样,新建一个系统变量 SCALA_HOME,值为你的 Scala 安装路径,如 C:\Scala
    2. Path 变量中添加 %SCALA_HOME%\bin
  • 验证:在命令提示符中输入 scala -version,看到版本信息即成功。

二、 下载与安装 Apache Spark

现在,主角可以登场了。

  • 第一步:下载 Spark

    1. 访问 Apache Spark 官网的下载页面。
    2. 在 “Choose a Spark release” 下拉菜单中,选择一个稳定版本。对于初学者,建议选择最新的稳定版本。
    3. 在 “Choose a package type” 下拉菜单中,选择 “Pre-built for Apache Hadoop 3.3 and later”。这个版本包含了大多数常用的 Hadoop 依赖库,适合在本地学习使用,即使你并没有安装 Hadoop。
    4. 点击旁边的 .tgz 链接开始下载。
  • 第二步:解压 Spark

    1. 下载的文件是一个 .tgz 压缩包。在 Windows 上,你可以使用解压软件(如 7-Zip)来解压。首先用 7-Zip 解压出 .tar 文件,然后再对 .tar 文件解压一次。
    2. 将解压后的文件夹(例如 spark-3.5.1-bin-hadoop3)移动到你希望放置的位置,例如 C:\Spark。同样,路径中避免中文和空格。
  • 第三步:配置 Spark 环境变量

    1. 新建系统变量 SPARK_HOME,变量值为你的 Spark 解压目录,例如 C:\Spark
    2. Path 变量中添加 %SPARK_HOME%\bin

三、 解决 Windows 环境特有难题:winutils.exe

在 Linux 或 macOS 上,Spark 可以开箱即用。但在 Windows 上,由于缺少 Hadoop 的某些 Windows 原生组件,直接运行会报错。我们需要手动解决这个问题。

  • 第一步:下载 winutils.exe

    1. 由于 Apache 官方不提供 winutils.exe,我们需要从第三方获取。一个可靠的选择是去 GitHub 上搜索 “winutils” 仓库。
    2. 找到与你的 Spark(Hadoop)版本对应的文件。例如,你下载的是 “Pre-built for Apache Hadoop 3.3”,那么就去找 hadoop-3.3.x 版本的 winutils.exe
    3. 下载 winutils.exe 文件。
  • 第二步:放置 winutils.exe 并配置

    1. 在你的电脑上创建一个目录,例如 C:\hadoop\bin
    2. 将下载的 winutils.exe 文件放入这个 bin 文件夹内。
    3. 新建一个系统变量 HADOOP_HOME,变量值为 C:\hadoop(注意,是 bin 目录的上一级)。
    4. Path 变量中添加 %HADOOP_HOME%\bin
  • 第三步:授予执行权限(关键步骤) 为了避免后续出现 “Unable to load native-hadoop library” 等权限错误,我们需要为 Spark 可能用到的临时目录授权。

    1. 以管理员身份打开命令提示符(在开始菜单搜索 “cmd”,右键选择“以管理员身份运行”)。
    2. 输入以下命令并回车:
      %HADOOP_HOME%\bin\winutils.exe chmod 777 C:\tmp\hive

      如果 C:\tmp\hive 目录不存在,命令会报错。我们可以先创建它,或者直接授权给 C:\tmp

      mkdir C:\tmp
      %HADOOP_HOME%\bin\winutils.exe chmod 777 C:\tmp

四、 验证安装:启动 Spark Shell

一切就绪,让我们点燃 Spark 的第一把火。

  1. 打开一个普通的命令提示符(不需要管理员权限)。
  2. 输入以下命令启动 PySpark(Python 版的 Spark Shell):
    pyspark
  3. 稍等片刻,你会看到屏幕上打印出大量的日志信息,最后会出现一个交互式提示符 >>>
  4. 输入一个简单的测试命令,创建一个 Spark 数据集并查看:
    df = spark.createDataFrame([(1, “Alice”), (2, “Bob”)], [“id”, “name”])
    df.show()

    如果成功显示一个包含 id 和 name 两列的小表格,那么恭喜你,Spark 已经在你的 Windows 电脑上成功运行了!

  5. 输入 quit() 或按 Ctrl+C 退出 Spark Shell。

启动 Scala Shell:如果你想测试 Scala 版本,在命令提示符输入 spark-shell 即可,测试方法类似。

五、 常见问题与避坑指南

  • 问题:启动时出现 “java.io.IOException: Could not locate executable null\bin\winutils.exe”

    • 解决:这明确说明系统没找到 winutils.exe。请严格按照第三步检查 HADOOP_HOME 环境变量是否正确设置,以及 Path 中是否包含了 %HADOOP_HOME%\bin,并确认 winutils.exe 文件确实放在那个 bin 目录下。
  • 问题:运行 pysparkspark-shell 时卡住,日志中有 Hadoop 相关的 WARN 或 ERROR

    • 解决:这通常与第三步的权限设置有关。请确保已使用管理员权限的命令提示符执行了 winutils.exe chmod 777 命令对临时目录进行了授权。
  • 问题:命令提示符中提示 “’java’ 不是内部或外部命令”

    • 解决:JDK 环境变量配置有误。请返回第一步,仔细检查 JAVA_HOMEPath 的设置,并重新打开一个命令提示符窗口进行测试(环境变量修改后需要重启终端才能生效)。
  • 性能优化建议

    • 对于本地学习,你可以在启动 Shell 时限制内存使用,避免卡顿。例如:pyspark --driver-memory 2g
    • 将 Spark 的临时工作目录设置到固态硬盘(SSD)上,可以提升少量性能。可以通过在代码中配置 spark.local.dir 参数实现。

通过以上步骤,你应该已经成功在 Windows 系统上搭建起了 Spark 学习环境。接下来,你就可以开始探索 Spark 强大的数据处理能力了,从简单的 WordCount 例子到复杂的数据分析任务,这片新天地正等着你去发掘。如果在后续使用中遇到更具体的问题,欢迎随时深入探讨。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,7人围观)

还没有评论,来说两句吧...

目录[+]