Spark,集群搭建-Standalone

以下是Spark Standalone集群搭建的关键步骤(基于Linux系统):

 

一、环境准备

 

1. 安装Java

 

- 确保所有节点安装JDK 8+,配置 JAVA_HOME 环境变量。

 

2. 关闭防火墙

bash

systemctl stop firewalld && systemctl disable firewalld

 

 

3. 配置SSH免密登录

 

- 主节点生成密钥并分发到所有从节点:

bash

ssh-keygen -t rsa # 按提示完成,不设密码  

ssh-copy-id slave1 # 替换为从节点主机名/IP  

 

 

二、下载与解压Spark

 

1. 下载Spark包

 

- 官网下载对应版本(如 spark-3.5.0-bin-hadoop3 ),上传至主节点。

 

2. 解压并配置

bash

tar -zxvf spark-3.5.0-bin-hadoop3.tgz -C /opt  

cd /opt/spark-3.5.0-bin-hadoop3/conf  

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

 

 

 

- 编辑 spark-env.sh ,添加:

bash

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 替换为实际路径  

export SPARK_MASTER_IP=master_hostname # 主节点主机名/IP  

export SPARK_WORKER_MEMORY=2g # 从节点内存(按需调整)  

 

 

三、配置集群节点

 

1. 修改 slaves 文件

bash

cp slaves.template slaves  

echo "slave1" >> slaves # 添加从节点主机名/IP,每行一个  

echo "slave2" >> slaves  

 

 

2. 分发Spark到从节点

bash

scp -r /opt/spark-3.5.0-bin-hadoop3 slave1:/opt  

scp -r /opt/spark-3.5.0-bin-hadoop3 slave2:/opt  

 

 

四、启动集群

 

1. 启动主节点

bash

cd /opt/spark-3.5.0-bin-hadoop3  

sbin/start-master.sh  

 

 

2. 启动从节点

bash

sbin/start-slaves.sh  

 

 

3. 验证状态

 

- 主节点Web界面: http://master_ip:8080 ,查看从节点是否在线。

 

五、常用操作

 

- 停止集群:

bash

sbin/stop-slaves.sh && sbin/stop-master.sh  

 

 

- 提交任务:

bash

bin/spark-submit \  

  --class org.apache.spark.examples.SparkPi \  

  --master spark://master_ip:7077 \  

  ./examples/jars/spark-examples_*.jar 10  

 

 

注意事项

 

- 确保所有节点时间同步(可使用 ntp 服务)。

 

- 从节点需预先创建与主节点相同的用户和目录权限。

 

- 内存和CPU资源根据实际硬件调整( SPARK_WORKER_CORES 参数)。

### 如何搭建配置 Spark Standalone 分布式集群 #### 准备工作 确保所有节点已经正确安装并配置好 Java 和 SSH 无密码登录。对于 Hadoop 的部分,只需要配置 HDFS 相关的服务即可[^2]。 #### 解压软件包 在每台机器上分别解压缩 JDK、Hadoop 及 Spark 安装文件: ```bash tar -zxvf jdk-8u241-linux-x64.tar.gz tar -zxvf hadoop-3.2.2.tar.gz tar -zxvf spark-3.2.0-bin-hadoop3.2.tgz ``` 完成上述操作之后,设置环境变量以便于后续使用这些工具[^5]。 #### 启动 HDFS 服务 由于通常情况下仍然希望利用 HDFS 进行数据存储,因此需要先启动 HDFS: ```bash # 切换至 hadoop 用户并进入 sbin 文件夹执行如下命令来启动 dfs 服务 $HADOOP_HOME/sbin/start-dfs.sh ``` 这一步骤保证了即使不依赖 YARN, 数据层面上依然能够正常运作。 #### 修改 Spark 配置文件 编辑 `conf/spark-env.sh` 来指定必要的环境参数,比如指向 HDFS 日志位置等信息: ```bash SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hdfs-cluster/spark-logs" ``` 此配置允许历史服务器读取位于远程 HDFS 上的日志记录[^4]。 #### 启动 Spark Master 和 Worker 节点 前往 Spark 主节点上的 `/sbin` 目录运行脚本来初始化整个集群: ```bash ./start-all.sh ``` 这条指令将会自动连接其他 worker 节点,并建立起完整的 Spark Standalone 集群架构[^3]。 通过以上步骤就可以成功构建起一个基于 Spark 自带资源管理器的独立分布式计算平台,在这个过程中并不涉及复杂的外部组件集成问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值