温馨提示×

温馨提示×

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

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

Spark在Linux上的安装路径怎么设置

发布时间:2025-11-14 19:52:15 来源:亿速云 阅读:138 作者:小樊 栏目:系统运维

Spark在Linux上的安装路径设置指南

一、核心原则

  • 选择一个统一、规范的安装根目录,例如:/opt/spark(系统级)或 /usr/local/spark(传统位置)。
  • 解压后建议将目录重命名为不含版本号的软链或固定名(如 /opt/spark),便于后续升级与迁移。
  • 通过环境变量 SPARK_HOME 指向该目录,并将 $SPARK_HOME/bin 加入 PATH;如需启动集群,也将 $SPARK_HOME/sbin 加入 PATH。
  • 在 $SPARK_HOME/conf/spark-env.sh 中设置 JAVA_HOME 等路径,避免依赖系统全局默认值。
  • 使用独立用户(如 spark)运行,目录权限设置为该用户可写,提升安全性与可维护性。

二、标准步骤

  1. 准备环境

    • 安装 JDK 8 或 11,并确认 java -version 正常。
    • 如需访问 HDFS/YARN,安装 Hadoop 并准备 HADOOP_CONF_DIR。
    • 如需 PySpark,安装 Python 3.6+。
  2. 下载与解压

    • 示例(以 3.3.2 为例,选择与你环境匹配的 Hadoop 包类型):
      wget https://downloads.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz
      sudo tar -xzf spark-3.3.2-bin-hadoop3.tgz -C /opt
      sudo ln -sfn /opt/spark-3.3.2-bin-hadoop3 /opt/spark   # 软链便于升级
      
    • 也可解压到 /usr/local 并创建软链:
      sudo tar -xzf spark-3.3.2-bin-hadoop3.tgz -C /usr/local
      sudo ln -sfn /usr/local/spark-3.3.2-bin-hadoop3 /usr/local/spark
      
    • 目录权限示例:
      sudo chown -R spark:spark /opt/spark*
      
  3. 配置环境变量

    • 编辑当前用户配置文件(如 ~/.bashrc 或 ~/.zshrc):
      echo 'export SPARK_HOME=/opt/spark' >> ~/.bashrc
      echo 'export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH' >> ~/.bashrc
      source ~/.bashrc
      
    • 如需系统级生效,可写入 /etc/profile.d/spark.sh:
      echo 'export SPARK_HOME=/opt/spark' | sudo tee /etc/profile.d/spark.sh
      echo 'export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH' | sudo tee -a /etc/profile.d/spark.sh
      source /etc/profile.d/spark.sh
      
  4. 配置 spark-env.sh

    • 复制模板并编辑:
      cd $SPARK_HOME/conf
      cp spark-env.sh.template spark-env.sh
      
    • 关键变量示例(按实际路径调整):
      export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
      # 如使用 HDFS/YARN
      export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
      # 单机/伪分布式常用
      export SPARK_MASTER_HOST=localhost
      # 可按需设置内存
      # export SPARK_WORKER_MEMORY=2g
      
  5. 集群相关(可选)

    • 配置 $SPARK_HOME/conf/slaves(或 workers)列出工作节点主机名。
    • 启动与访问:
      $SPARK_HOME/sbin/start-master.sh
      $SPARK_HOME/sbin/start-workers.sh
      # 访问 Master Web UI:http://<master-ip>:8080
      
    • 端口被占用时,可在 spark-env.sh 中设置 SPARK_MASTER_PORT 调整。

三、验证与常见问题

  • 验证安装

    • 查看版本:spark-submit --version
    • 进入交互:spark-shell(看到 Scala REPL 即正常)
    • 访问 http://:8080 检查 Web UI。
  • 常见问题与处理

    • Java 版本不兼容:确保 JDK 8 或 11,并在 spark-env.sh 显式设置 JAVA_HOME。
    • 端口冲突:修改 SPARK_MASTER_PORT 或释放占用端口。
    • 权限问题:安装目录属主应为运行用户(如 spark:spark),必要时使用 sudo。
    • 路径错误:核对 SPARK_HOME、JAVA_HOME、HADOOP_CONF_DIR 是否与实际一致。

四、多版本与自动化建议

  • 多版本共存

    • 使用独立目录(如 /opt/spark-3.3.2、/opt/spark-3.5.0),通过切换 SPARK_HOME 与软链指向实现版本切换:
      sudo ln -sfn /opt/spark-3.5.0 /opt/spark
      # 重新登录或 source 使变更生效
      
  • 自动化安装脚本(示例)

    • 可编写脚本自动下载、解压、重命名、配置 SPARK_HOME 与 PATH,并执行 spark-submit --version 验证。参考脚本思路:设置版本与安装目录、下载解压、写入 ~/.bashrc、source 生效并验证。
向AI问一下细节

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

AI
助
手