Spark 2.4.0 三节点集群部署文档 (Standalone 模式)

Spark 2.4.0 三节点集群部署文档 (Standalone 模式)

1. 集群规划

节点 IP主机名 (映射)角色分配备注
10.8.16.213node213Master + WorkerSpark主节点兼Flink分节点
10.8.16.209node209WorkerSpark分节点兼Flink主节点
10.8.16.210node210WorkerSpark分节点兼Flink分节点
  • 安装路径:/home/bigdata/spark-2.4.0-bin-hadoop2.7
  • 运行用户:bigdata
  • JDK版本:1.8

2. 环境准备 (所有节点)

2.1 jdk8安装

JDK 8 安装

#下载jdk8
sudo yum install -y java-1.8.0-openjdk-devel

修改环境变量:

vi ~/.bashrc

添加以下:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

刷新环境变量

source ~/.bashrc

查看jdk是否安装成功

java -version

在这里插入图片描述

2.2 修改 Hosts 文件

在 /etc/hosts 中添加映射,确保三台机器能通过主机名互访:

10.8.16.213 node213
10.8.16.209 node209
10.8.16.210 node210

在这里插入图片描述

2.2 SSH 免密登录 (以 bigdata 用户执行)

10.8.16.213 上生成密钥并分发,确保 Master 启动时不需要输入密码:

ssh-keygen -t rsa   # 一路回车
ssh-copy-id bigdata@10.8.16.213
ssh-copy-id bigdata@10.8.16.209
ssh-copy-id bigdata@10.8.16.210

在这里插入图片描述

3. 软件安装与配置 (三节点都需要)

3.1 下载并解压

cd /home/bigdata
wget https://archive.apache.org/dist/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz
tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz

3.2 配置环境变量

编辑 ~/.bashrc:

export SPARK_HOME=/home/bigdata/spark-2.4.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

执行 source ~/.bashrc 生效:

source ~/.bashrc

3.3 修改 spark-env.sh(仅在10.8.16.213)

#进入所在文件目录
cd /home/bigdata/spark-2.4.0-bin-hadoop2.7/conf
#复制备份原文件
cp spark-env.sh.template spark-env.sh
#进入编辑
vi spark-env.sh

本次搭建环境是三节点flink1.19.3集群模式和三节点spark2.4.0集群模式,如果单独搭建spark2.4.0集群模式可以省略以下这一步:
添加以下内容(注意避开 Flink 端口):

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export SPARK_MASTER_HOST=10.8.16.213
export SPARK_MASTER_PORT=7077

# Web UI 端口配置 (避开 Flink 8081),自行设置即可
export SPARK_MASTER_WEBUI_PORT=xxxx
export SPARK_WORKER_WEBUI_PORT=xxxx

# 资源限制
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=8g

在这里插入图片描述

3.4 修改 slaves(仅在10.8.16.213)

cp slaves.template slaves
vi slaves

写入 Worker 节点 IP:

10.8.16.213
10.8.16.209
10.8.16.210

4. 分发配置 (从10.8.16. 213主节点分发到其余节点)

将配置好的文件同步到其他两台机器:

分发slaves:

#分发到10.8.16.209
scp /home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/slaves bigdata@10.8.16.209:/home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/
#分发到10.8.19.210
scp /home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/slaves bigdata@10.8.16.210:/home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/

分发spark-env.sh:

#分发到10.8.16.209
scp /home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/spark-env.sh bigdata@10.8.16.209:/home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/
#分发到10.8.19.210
scp /home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/spark-env.sh bigdata@10.8.16.210:/home/bigdata/spark-2.4.0-bin-hadoop2.7/conf/

也可以分发覆盖全部配置:

scp -r $SPARK_HOME/conf/* bigdata@10.8.16.209:$SPARK_HOME/conf/
scp -r $SPARK_HOME/conf/* bigdata@10.8.16.210:$SPARK_HOME/conf/


5. 集群启停

5.1 启动集群 (在 10.8.16.213 执行)

#进入spark路径
cd /home/bigdata/spark-2.4.0-bin-hadoop2.7/sbin
#启动
./start-all.sh

5.2 停止集群

./stop-all.sh

6. 验证与测试

6.1 进程检查

各节点执行 jps:

  • 213: Master, Worker
    在这里插入图片描述

  • 209/210: Worker
    在这里插入图片描述

6.2 Web UI 监控

访问:http://10.8.16.213:xxxx(自定义的端口)
确认 Alive Workers 数量为 3。
在这里插入图片描述

6.3 运行示例任务

10.8.16.213 节点执行以下官方示例命令(计算圆周率 Pi):

spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://10.8.16.213:7077 \
--executor-memory 1G \
--total-executor-cores 3 \
$SPARK_HOME/examples/jars/spark-examples_2.11-2.4.0.jar \
10

结果确认:在终端日志或 Web UI 的 stdout 中看到 Pi is roughly 3.1415…。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值