温馨提示×

温馨提示×

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

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

Linux 下如何正确安装 Spark

发布时间:2025-10-04 13:49:55 来源:亿速云 阅读:149 作者:小樊 栏目:系统运维

一、基础环境准备 在Linux系统上安装Spark前,需确保以下依赖已正确安装:

  • Java Development Kit (JDK):Spark依赖Java环境,推荐使用JDK 8或JDK 11(避免使用更高版本导致兼容性问题)。可通过java -version命令验证安装,若未安装,需从Oracle或OpenJDK官网下载对应版本并配置JAVA_HOME环境变量。
  • Apache Hadoop(可选):若需使用HDFS、YARN等Hadoop组件,需提前安装并配置Hadoop(如hadoop-3.x版本)。若仅本地测试,可跳过此步骤。
  • Python(可选):若需使用PySpark(Spark的Python API),需安装Python 3.6及以上版本(推荐Python 3.8+),可通过python3 --version验证。

二、下载Spark安装包 从Apache Spark官方网站下载最新稳定版本的Spark(如Spark 3.3.2),选择预编译的Hadoop版本(如spark-3.3.2-bin-hadoop3.tgz,适配Hadoop 3.x),避免自行编译的麻烦。使用wget命令下载:

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
sudo mv /opt/spark-3.3.2-bin-hadoop3 /opt/spark

四、配置环境变量 编辑用户级配置文件(如~/.bashrc或~/.zshrc),添加Spark相关环境变量,确保终端能全局识别Spark命令:

vim ~/.bashrc

在文件末尾添加以下内容(根据实际路径调整):

export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际JDK路径调整

保存后执行source ~/.bashrc使配置生效。

五、配置Spark特定参数

  1. 修改spark-env.sh:进入Spark安装目录的conf子目录,复制模板文件并编辑:
    cd /opt/spark/conf
    cp spark-env.sh.template spark-env.sh
    vim spark-env.sh
    
    添加以下关键配置(根据实际环境调整):
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 与全局JAVA_HOME一致
    export SPARK_MASTER_HOST=localhost  # 单机模式为localhost,集群模式为Master节点IP
    export SPARK_WORKER_MEMORY=1g  # Worker节点可用内存(根据机器配置调整)
    
  2. 配置Slaves(集群模式必选):若搭建Spark集群,需指定Worker节点列表。复制模板文件并编辑:
    cp slaves.template slaves
    vim slaves
    
    添加Worker节点主机名或IP(每行一个):
    worker01
    worker02
    

六、验证Spark安装

  1. 本地模式验证:运行spark-shell命令,若出现Spark REPL(交互式命令行界面),则表示安装成功:
    spark-shell
    
    在REPL中输入sc.version,可查看Spark版本信息。
  2. 集群模式验证:若配置了集群,在Master节点运行以下命令启动集群:
    cd /opt/spark/sbin
    ./start-master.sh  # 启动Master
    ./start-slaves.sh  # 启动所有Worker
    
    访问Master节点的Web UI(默认端口8080,如http://localhost:8080),若能看到Master和Worker节点信息,则集群部署成功。

七、常见问题排查

  • Java版本不兼容:若出现Unsupported major.minor version错误,需检查JAVA_HOME指向的JDK版本是否符合要求(Spark 3.x支持JDK 8/11)。
  • 环境变量未生效:若spark-shell命令无法识别,需确认~/.bashrc中的PATH配置正确,并执行source ~/.bashrc重新加载。
  • 端口冲突:若Master节点启动失败(如端口7077被占用),可在spark-env.sh中修改SPARK_MASTER_PORT为其他端口(如8077)。
  • 依赖缺失:若运行应用时出现ClassNotFoundException,可使用--packages参数自动下载依赖(如spark-shell --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.3.2)。
向AI问一下细节

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

AI
助
手