文档首页> 常见问题> Linux 服务器如何配置 Spark?

Linux 服务器如何配置 Spark?

发布时间:2025-04-23 06:00       

Linux服务器上Spark集群配置完全指南

Apache Spark作为当前最流行的大数据处理框架之一,在Linux服务器上的正确配置对于发挥其最佳性能至关重要。本文将详细介绍从环境准备到集群调优的全过程。

一、环境准备

1.1 硬件要求

建议配置:

  • 主节点:8核CPU/16GB内存/100GB存储
  • 工作节点:4核CPU/8GB内存/50GB存储
  • 网络:千兆以太网

1.2 软件依赖

必需组件:

  1. Java 8或11(推荐OpenJDK)
  2. Python 3.6+(可选)
  3. SSH免密登录配置
# 检查Java版本
java -version
# 安装OpenJDK
sudo apt install openjdk-11-jdk

二、Spark安装与配置

2.1 下载与解压

从官网下载预编译包:

wget https://downloads.apache.org/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
tar -xzf spark-3.3.1-bin-hadoop3.tgz
cd spark-3.3.1-bin-hadoop3

2.2 基础配置

修改conf/spark-env.sh:

export SPARK_MASTER_HOST='your_master_ip'
export SPARK_WORKER_CORES=4
export SPARK_WORKER_MEMORY=8g

2.3 集群模式选择

模式 适用场景
Standalone 快速测试/小型集群
YARN Hadoop生态集成
Kubernetes 云原生环境

三、集群部署实战

3.1 启动Master节点

./sbin/start-master.sh
# 查看Web UI:http://master_ip:8080

3.2 添加Worker节点

在各工作节点执行:

./sbin/start-worker.sh spark://master_ip:7077

3.3 验证集群状态

./bin/spark-submit --master spark://master_ip:7077 examples/src/main/python/pi.py 100

四、性能优化技巧

  • 内存分配:设置spark.executor.memoryOverhead避免OOM
  • 并行度调优:spark.default.parallelism=集群总核数×2-3
  • 数据本地化:合理设置spark.locality.wait

高级参数示例:

spark.executor.extraJavaOptions=-XX:+UseG1GC
spark.serializer=org.apache.spark.serializer.KryoSerializer

五、常见问题解决

问题1:Worker节点无法连接Master
解决方案:检查防火墙设置和SPARK_MASTER_HOST配置

问题2:作业执行缓慢
解决方案:调整分区数并检查数据倾斜

扩展资源

  • 官方文档:https://spark.apache.org/docs/latest/
  • 性能调优白皮书:https://databricks.com/