温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux spark安装需啥配置

发布时间:2026-10-17 06:20:21 来源:亿速云 阅读:91 作者:小樊 栏目:系统运维

在 Linux 上安装和部署 Apache Spark,所需配置可以分为 基础环境配置、Spark 自身配置 和 集群模式相关配置 三部分。下面按常见使用场景说明。


一、基础环境配置(必须)

1. 操作系统

  • 主流 Linux 发行版均可:
    • CentOS / Rocky / Alma
    • Ubuntu / Debian
  • 推荐 64 位系统

2. Java(必须)

Spark 依赖 JVM:

  • Java 8 / Java 11(Spark 3.x 推荐 Java 8 或 11)
  • 查看版本:
java -version

安装示例(Ubuntu):

sudo apt install openjdk-11-jdk

配置 JAVA_HOME:

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

3. SSH(集群模式必须)

如果是 Standalone / Hadoop YARN 集群:

  • 各节点间需免密 SSH
ssh-keygen -t rsa
ssh-copy-id node2
ssh-copy-id node3

4. 主机名与 hosts(集群推荐)

vim /etc/hosts

示例:

192.168.1.10 master
192.168.1.11 worker1
192.168.1.12 worker2

二、Spark 安装配置

1. 下载并解压

wget https://archive.apache.org/dist/spark/spark-3.4.1/spark-3.4.1-bin-hadoop3.tgz
tar -zxvf spark-3.4.1-bin-hadoop3.tgz
mv spark-3.4.1-bin-hadoop3 /opt/spark

2. 配置环境变量

vim ~/.bashrc
export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
source ~/.bashrc

3. Spark 核心配置文件

spark-env.sh

cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh

常见配置:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=4g
export SPARK_WORKER_CORES=2

workers(Standalone 集群)

cp workers.template workers
worker1
worker2

三、不同运行模式所需配置

1. Local 模式(学习 / 测试)

✅ 不需要集群
✅ 直接运行:

spark-shell

或

spark-submit --master local[2] app.jar

2. Standalone 模式(Spark 自带集群)

需要:

  • Master + Worker
  • SSH 免密
  • spark-env.sh
  • workers 文件

启动:

$SPARK_HOME/sbin/start-all.sh

3. YARN 模式(最常用生产)

需要:

  • 已安装 Hadoop
  • HADOOP_CONF_DIR 配置
export HADOOP_CONF_DIR=/etc/hadoop/conf

提交:

spark-submit --master yarn --deploy-mode cluster app.jar

4. Kubernetes 模式

需要:

  • K8s 集群
  • 镜像构建
  • spark.kubernetes.* 配置

四、资源建议配置

项目 建议
CPU ≥ 2 核
内存 ≥ 4G(生产 ≥ 8G)
磁盘 ≥ 20G
网络 千兆网卡

五、常见坑提醒

  • ❌ Java 版本不兼容
  • ❌ 防火墙未关(7077 / 8080)
  • ❌ hostname 不一致
  • ❌ worker 内存超过物理内存

如果你能告诉我:

  • ✅ 单机还是集群
  • ✅ 是否用 Hadoop
  • ✅ Spark 版本

我可以给你 一份可直接用的配置清单。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手