如何在 Debian 10 上安装 Apache Spark 集群计算框架
本教程适用于这些操作系统版本
- Debian 11(Bullseye)
- Debian 10(Buster)
在此页
- 先决条件
- 开始
- 安装Java
- 下载 Apache Spark
- 启动主服务器
- 启动 Spark 工作进程
- 访问 Spark 外壳
Apache Spark 是一个免费的开源集群计算框架,用于对大量数据进行分析、机器学习和图形处理。 Spark 附带 80 多个高级运算符,使您能够构建并行应用程序并从 Scala、Python、R 和 SQL shell 以交互方式使用它。它是专为数据科学设计的快如闪电的内存数据处理引擎。它提供了一组丰富的功能,包括速度、容错、实时流处理、内存计算、高级分析等等。
在本教程中,我们将向您展示如何在 Debian 10 服务器上安装 Apache Spark。
先决条件
- 一台运行 Debian 10 且配备 2 GB RAM 的服务器。
- 在您的服务器上配置了根密码。
入门
在开始之前,建议使用最新版本更新您的服务器。您可以使用以下命令更新它:
apt-get update -y
apt-get upgrade -y
服务器更新后,重新启动它以实施更改。
安装Java
Apache Spark 是用 Java 语言编写的。因此,您需要在系统中安装 Java。默认情况下,最新版本的 Java 在 Debian 10 默认存储库中可用。您可以使用以下命令安装它:
apt-get install default-jdk -y
安装 Java 后,使用以下命令验证已安装的 Java 版本:
java --version
您应该得到以下输出:
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode, sharing)
下载阿帕奇星火
首先,您需要从其官方网站下载最新版本的 Apache Spark。在撰写本文时,Apache Spark 的最新版本是 3.0。您可以使用以下命令将其下载到 /opt 目录:
cd /opt
wget http://apachemirror.wuchna.com/spark/spark-3.0.0-preview2/spark-3.0.0-preview2-bin-hadoop2.7.tgz
下载完成后,使用以下命令解压缩下载的文件:
tar -xvzf spark-3.0.0-preview2-bin-hadoop2.7.tgz
接下来,将提取的目录重命名为 spark ,如下所示:
mv spark-3.0.0-preview2-bin-hadoop2.7 spark
接下来,您需要为 Spark 设置环境。你可以通过编辑 ~/.bashrc 文件来做到这一点:
nano ~/.bashrc
在文件末尾添加以下行:
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
完成后保存并关闭文件。然后,使用以下命令激活环境:
source ~/.bashrc
启动主服务器
您现在可以使用以下命令启动主服务器:
start-master.sh
您应该得到以下输出:
starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-debian10.out
默认情况下,Apache Spark 侦听端口 8080。您可以使用以下命令验证它:
netstat -ant | grep 8080
输出:
tcp6 0 0 :::8080 :::* LISTEN
现在,打开您的 Web 浏览器并输入 URL http://server-ip-address:8080。您应该会看到以下页面:

请记下上图中的 Spark URL \spark://debian10:7077\。这将用于启动 Spark 工作进程。
启动 Spark 工作进程
现在,您可以使用以下命令启动 Spark 工作进程:
start-slave.sh spark://debian10:7077
您应该得到以下输出:
starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-debian10.out
访问 Spark 外壳
Spark Shell 是一个交互式环境,它提供了一种学习 API 和交互式分析数据的简单方法。您可以使用以下命令访问 Spark shell:
spark-shell
您应该看到以下输出:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.12-3.0.0-preview2.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
19/12/29 15:53:11 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://debian10:4040
Spark context available as 'sc' (master = local[*], app id = local-1577634806690).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 3.0.0-preview2
/_/
Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.5)
Type in expressions to have them evaluated.
Type :help for more information.
scala>
从这里,您可以了解如何快速方便地充分利用 Apache Spark。
如果要停止 Spark Master 和 Slave 服务器,请运行以下命令:
stop-slave.sh
stop-master.sh
现在就是这样,您已经在 Debian 10 服务器上成功安装了 Apache Spark。更多信息可以参考 Spark Doc 上的 Spark 官方文档。