【spark3.2.4】--完全分布式集群搭建

一、spark-env.sh 文件配置(操作路径:$SPARK_HOME/conf/spark-env.sh)

如果还没创建:

bash 复制代码
cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh

然后编辑(比如用 vim):

bash 复制代码
vim $SPARK_HOME/conf/spark-env.sh

修改内容如下:

bash 复制代码
# Java 环境
export JAVA_HOME=/usr/local/src/jdk1.8.0_152

# Hadoop 配置目录(用于对接 HDFS)
export HADOOP_CONF_DIR=/usr/local/src/hadoop-3.2.2/etc/hadoop

# Spark Master 配置
export SPARK_MASTER_HOST=master01
export SPARK_MASTER_PORT=7077

# Spark Worker 资源限制
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1

# History Server 配置(写入 event log)
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master01:8020/spark-logs -Dspark.history.fs.cleaner.enabled=true -Dspark.history.fs.cleaner.maxAge=7d"

二、workers 文件配置(操作路径:$SPARK_HOME/conf/workers)

如果还没创建:

bash 复制代码
cp $SPARK_HOME/conf/workers.template $SPARK_HOME/conf/workers

编辑文件:

bash 复制代码
vim $SPARK_HOME/conf/workers

写入每台 Worker 的 hostname(或 IP):

bash 复制代码
node01
node02

可选写法(如果 DNS 不通):

bash 复制代码
192.168.1.102
192.168.1.103

三、spark-defaults.conf 文件配置(操作路径:$SPARK_HOME/conf/spark-defaults.conf)

如果还没创建:

bash 复制代码
cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf

编辑文件:

bash 复制代码
vim $SPARK_HOME/conf/spark-defaults.conf

推荐配置内容如下:

properties 复制代码
# 集群主节点
spark.master                     spark://master01:7077

# 提交模式(client 适合测试,部署集群可用 cluster)
spark.submit.deployMode          client

# 启用事件日志
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master01:8020/spark-logs

# 历史服务器读取的日志目录
spark.history.fs.logDirectory    hdfs://master01:8020/spark-logs

# 日志自动清理设置
spark.history.fs.cleaner.enabled true
spark.history.fs.cleaner.maxAge  7d

# 默认 executor 资源设置
spark.executor.memory            1g
spark.executor.cores             1

# driver 内存设置(本地运行任务时用)
spark.driver.memory              1g

四、HDFS 中创建日志目录

bash 复制代码
hdfs dfs -mkdir -p /spark-logs
hdfs dfs -chmod -R 755 /spark-logs

如果你用的是非 root 用户运行 Spark,比如 sparkuser:

bash 复制代码
hdfs dfs -chown sparkuser:hadoop /spark-logs

五、启动服务推荐顺序

bash 复制代码
# 启动 Hadoop 集群
start-dfs.sh

# 启动 Spark 集群
start-all.sh

# 启动 Spark 历史服务器
start-history-server.sh

# 查看 UI 页面(History Server 默认 18080)
http://master01:18080
相关推荐
samforce1 小时前
为什么微服务会退化成“分布式单体”?——软件架构里的嵌套率传导定律
人工智能·分布式·微服务·架构·软件架构·结构认知
每天一道题18 小时前
Kafka 是如何工作的?从 Broker、Partition、Offset 到 Consumer Group
分布式·kafka
用户14944848132020 小时前
为什么大厂很少直接用 2PC/TCC?聊聊分布式事务在真实业务里的落地套路
分布式·后端
code_slave(码畜)21 小时前
微服务架构落地:分库分表实战(下) —— 分布式主键、跨分片查询与分页聚合防坑
数据库·spring boot·分布式·spring cloud·微服务·架构·分库分表
德迅云安全-上官1 天前
新一代智能分布式云接入:应用加速守护 TCP 业务安全与体验
分布式·tcp/ip·安全
凯凯姜1 天前
分布式定时任务重复执行与故障恢复
分布式
Sayai1 天前
Kafka 磁盘空间治理实战:retention 保留策略、log.dirs 在线扩容、分区跨盘迁移与不停机整体换盘
大数据·运维·分布式·kafka·消息队列
爱吃牛肉的大老虎1 天前
Redis之分布式 Session问题
数据库·redis·分布式
阿标在干嘛1 天前
分布式锁的“场景适配“:我们为什么在部分链路中选择了数据库乐观锁?
数据库·分布式
磐链科技1 天前
Web3区块链开发需要哪些核心技术?解析分布式网络、数字钱包与跨链交互方案
分布式·web3·区块链