温馨提示×

温馨提示×

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

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

如何在Linux上成功安装Spark

发布时间:2025-11-14 18:48:10 来源:亿速云 阅读:132 作者:小樊 栏目:系统运维

在 Linux 上安装与验证 Apache Spark 的完整步骤

一 环境准备

  • 安装 Java Development Kit(JDK 8 或 JDK 11),这是 Spark 的运行时依赖。
  • 如需访问 HDFS/YARN 等 Hadoop 生态,安装 Apache Hadoop;仅本地测试可不装。
  • 如需 PySpark,安装 Python 3。
  • 检查版本示例:java -version、python3 --version。
    以上为 Spark 官方与运维实践中的通用前置条件。

二 安装与配置

  • 下载 Spark(以 3.3.2 为例,选择预编译的 Hadoop 3 版本):
    wget https://downloads.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz
  • 解压到目标目录(如 /opt):
    sudo tar -xzf spark-3.3.2-bin-hadoop3.tgz -C /opt
  • 配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
    export SPARK_HOME=/opt/spark-3.3.2-bin-hadoop3
    export PATH=$SPARK_HOME/bin:$PATH
    
    使配置生效:source ~/.bashrc
  • 可选:配置 SPARK_HOME/conf/spark-env.sh(不存在则复制模板创建):
    cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
    echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64' >> $SPARK_HOME/conf/spark-env.sh
    echo 'export SPARK_MASTER_HOST=localhost' >> $SPARK_HOME/conf/spark-env.sh
    

以上步骤覆盖下载、解压、环境变量与基础配置。

三 启动与验证

  • 本地模式验证:运行 spark-shell,出现 Scala REPL 提示符即表示安装成功。
  • Standalone 伪分布式快速启动:
    $SPARK_HOME/sbin/start-master.sh
    $SPARK_HOME/sbin/start-worker.sh spark://localhost:7077
    
  • 访问 Web UI:打开 http://localhost:8080(Master UI)。如 8080 端口被占用,可在 spark-env.sh 中设置 SPARK_MASTER_PORT 更换端口。
  • 运行示例:在 spark-shell 中执行
    val data = Seq(1,2,3,4,5)
    val rdd = sc.parallelize(data)
    println(s"The sum is: ${rdd.reduce(_ + _)}")
    

以上完成本地与伪分布式的启动与验证。

四 常见问题与排查

  • Java 版本不兼容:Spark 常用 JDK 8/11,请确认 java -version 输出并调整 JAVA_HOME。
  • 命令未找到:检查 SPARK_HOME 与 PATH 是否正确写入并 source 生效。
  • 端口冲突:Master 默认 8080,可在 spark-env.sh 中设置 SPARK_MASTER_PORT 规避冲突。
  • 内存不足:在 spark-defaults.conf 中调小内存,例如:
    spark.executor.memory 1g
    spark.driver.memory 1g
    
  • 依赖缺失(如 Kafka、SQL 等连接器):使用 --packages 自动拉取,例如
    spark-shell --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.3.2
    以上为高频问题与处理建议。

五 进阶配置与运行模式

  • 集群模式(Standalone):在 $SPARK_HOME/conf 下复制并重命名模板:
    cp slaves.template slaves
    cp spark-env.sh.template spark-env.sh
    
    编辑 slaves 写入 Worker 主机名/IP,在 spark-env.sh 设置 SPARK_MASTER_HOST 等;主节点执行 ./sbin/start-all.sh 启动集群。
  • 运行模式:Spark 支持 Local、Standalone、YARN、Mesos 等模式;在 YARN 场景可直接提交应用到 YARN(无需额外部署 Spark 集群)。
  • History Server(作业历史):在 spark-defaults.conf 开启事件日志
    spark.eventLog.enabled true
    spark.eventLog.dir hdfs://<namenode>:9000/spark-eventlog
    
    在 spark-env.sh 配置 History Server:
    export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://<namenode>:9000/spark-eventlog"
    
    启动:$SPARK_HOME/sbin/start-history-server.sh,访问 http://:18080。
    以上覆盖 Standalone 集群与 History Server 的常用配置。
向AI问一下细节

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

AI
助
手