当前位置:首页 > Ubuntu > 正文

Ubuntu Spark集群部署(手把手教你从零搭建Apache Spark分布式计算环境)

在大数据处理领域,Apache Spark 是一个非常流行的开源分布式计算框架。它能够高效地处理大规模数据集,并支持多种语言如 Scala、Java、Python 和 R。本文将详细讲解如何在 Ubuntu 系统上部署一个 Spark 集群,适合初学者操作,即使你是 Linux 小白也能轻松上手。

一、准备工作

在开始之前,请确保你有以下资源:

  • 至少两台运行 Ubuntu 20.04 或更高版本的服务器(一台作为 Master,其余作为 Worker)
  • 每台机器都已安装 Java 8 或 Java 11(Spark 依赖 Java 环境)
  • 各节点之间网络互通,且能通过主机名或 IP 相互访问
  • 拥有 sudo 权限的用户账户

二、安装 Java 环境

首先,在所有节点上安装 OpenJDK。以 Ubuntu 20.04 为例:

sudo apt updatesudo apt install -y openjdk-11-jdk# 验证安装java -version

三、配置 SSH 免密登录

为了让 Master 节点能无密码访问所有 Worker 节点,需配置 SSH 免密登录。

在 Master 节点执行:

# 生成 SSH 密钥(一路回车)ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa# 将公钥复制到自身和所有 Worker 节点ssh-copy-id masterssh-copy-id worker1ssh-copy-id worker2# ... 根据你的 Worker 数量调整

四、下载并安装 Apache Spark

前往 Spark 官网 下载最新稳定版(建议选择 Pre-built for Apache Hadoop 的版本)。

在所有节点上执行以下命令:

cd /optsudo wget https://dlcdn.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgzsudo tar -xzf spark-3.5.0-bin-hadoop3.tgzsudo mv spark-3.5.0-bin-hadoop3 sparksudo chown -R $USER:$USER spark
Ubuntu Spark集群部署(手把手教你从零搭建Apache Spark分布式计算环境) Spark集群部署 Spark分布式计算 Apache Spark安装教程 Ubuntu搭建Spark集群 第1张

五、配置 Spark 环境变量

编辑 ~/.bashrc 文件,在所有节点上添加以下内容:

export SPARK_HOME=/opt/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbinexport PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.7-src.zip

然后执行:

source ~/.bashrc

六、配置 Spark 集群

进入 Spark 配置目录:

cd $SPARK_HOME/conf

1. 创建 spark-env.sh 文件:

cp spark-env.sh.template spark-env.shnano spark-env.sh

在文件中添加以下内容(根据你的实际 IP 修改):

export SPARK_MASTER_HOST=master_ip_addressexport JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

2. 创建 workers 文件(旧版叫 slaves):

cp workers.template workersnano workers

在文件中写入所有 Worker 节点的主机名或 IP,例如:

worker1worker2

七、启动 Spark 集群

在 Master 节点执行:

$SPARK_HOME/sbin/start-master.sh$SPARK_HOME/sbin/start-workers.sh

启动成功后,打开浏览器访问 http://master_ip:8080,即可看到 Spark Web UI,确认所有 Worker 已注册。

八、测试集群

提交一个简单的 Pi 计算任务:

$SPARK_HOME/bin/spark-submit \  --master spark://master_ip:7077 \  $SPARK_HOME/examples/src/main/python/pi.py 10

如果输出结果中包含 Pi 的近似值,说明你的 Ubuntu Spark集群部署 成功!

九、常见问题与优化建议

  • 确保防火墙开放 7077(Master)、8080(Web UI)、以及 Worker 通信端口
  • 可为 Spark 配置内存参数(如 spark.executor.memory)以提升性能
  • 生产环境中建议使用专用用户运行 Spark 服务

通过本教程,你应该已经掌握了如何在 Ubuntu 上完成 Spark分布式计算 环境的搭建。无论是学习还是开发测试,这个集群都能为你提供强大的数据处理能力。

关键词回顾:Ubuntu Spark集群部署、Spark分布式计算、Apache Spark安装教程、Ubuntu搭建Spark集群。