温馨提示×

温馨提示×

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

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

Linux 系统如何顺利安装 Spark

发布时间:2025-10-04 14:34:08 来源:亿速云 阅读:155 作者:小樊 栏目:系统运维

一、安装前环境准备
在Linux系统上安装Spark前,需确保系统满足以下核心依赖:

  • Java环境:Spark依赖Java运行环境(JRE/JDK),推荐使用JDK 8或JDK 11(避免使用JDK 17及以上版本,可能存在兼容性问题)。通过java -version命令检查是否已安装;若未安装,可使用包管理器安装(如Ubuntu的sudo apt install openjdk-8-jdk、CentOS的sudo yum install java-1.8.0-openjdk),并配置JAVA_HOME环境变量(指向JDK安装目录,如/usr/lib/jvm/java-8-openjdk-amd64)。
  • Hadoop(可选):若需使用Spark的HDFS或YARN功能(如分布式存储、资源调度),需提前安装Hadoop并配置好HADOOP_HOMEHADOOP_CONF_DIR等环境变量;若仅本地测试,可跳过此步骤。
  • Python(可选):若需使用PySpark(Spark的Python API),需安装Python 3.6及以上版本(通过python3 --version检查)。

二、下载Spark安装包
访问Apache Spark官方网站(downloads.apache.org/spark),选择预编译版本(Pre-built for Apache Hadoop)——此类版本已集成Hadoop依赖,无需额外编译。例如,下载Spark 3.3.2版本(截至2025年10月的最新稳定版)的Hadoop 3适配包:

wget https://downloads.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz

下载完成后,可通过tar -tzf spark-3.3.2-bin-hadoop3.tgz命令验证文件完整性。

三、解压与目录部署
将下载的安装包解压至系统指定目录(如/opt,需管理员权限):

sudo tar -xzf spark-3.3.2-bin-hadoop3.tgz -C /opt

为便于管理,可将解压后的目录重命名(如spark):

sudo mv /opt/spark-3.3.2-bin-hadoop3 /opt/spark

建议将Spark目录的所有权赋予当前用户(避免后续操作权限问题):

sudo chown -R $USER:$USER /opt/spark

四、配置环境变量
编辑用户级的环境变量文件(如~/.bashrc~/.zshrc,根据使用的Shell类型选择),添加以下内容:

export SPARK_HOME=/opt/spark  # Spark安装目录
export PATH=$SPARK_HOME/bin:$PATH  # 将Spark的bin目录加入PATH,实现全局命令调用

保存文件后,执行source ~/.bashrc(或source ~/.zshrc)使配置立即生效。可通过echo $SPARK_HOME命令验证环境变量是否配置成功。

五、验证基础安装
在终端输入spark-shell命令,若安装成功,将启动Spark的**REPL(交互式Shell)**界面,显示Spark版本、Scala版本及交互提示符(如scala>)。此时可输入sc.version查看Spark版本,或执行1+1等简单计算验证功能。

六、配置Spark集群参数(可选,用于分布式运行)
若需将Spark部署为集群模式(Master-Worker架构),需修改spark-env.sh配置文件:

  1. 进入Spark配置目录:cd $SPARK_HOME/conf
  2. 复制模板文件生成spark-env.shcp spark-env.sh.template spark-env.sh
  3. 编辑spark-env.sh,添加以下关键配置(根据实际环境调整):
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64  # Java安装目录
    export SPARK_MASTER_HOST=localhost  # Master节点IP(本地测试用localhost)
    export SPARK_MASTER_PORT=7077  # Master节点端口(默认7077)
    export SPARK_WORKER_MEMORY=2g  # Worker节点分配给Executor的内存(如2GB)
    export SPARK_WORKER_CORES=2  # Worker节点分配给Executor的CPU核心数(如2核)
    

配置完成后,保存文件即可。

七、启动Spark服务(可选,分布式模式)

  1. 启动Master节点:进入$SPARK_HOME/sbin目录,执行./start-master.sh。启动后,终端会显示Master的Web UI地址(如http://localhost:8080)。
  2. 启动Worker节点:在同一个终端执行./start-worker.sh spark://localhost:7077spark://localhost:7077为Master节点的连接地址,需与spark-env.sh中的SPARK_MASTER_HOSTSPARK_MASTER_PORT一致)。
  3. 验证集群状态:通过jps命令查看进程(应存在MasterWorker进程);或访问Master的Web UI(如http://localhost:8080),查看Worker节点是否注册成功。

八、常见问题排查

  • Java版本不兼容:若启动时出现Unsupported major.minor version错误,需卸载冲突的Java版本(如JDK 17),并安装JDK 8或11。
  • 环境变量未生效:若spark-shell命令无法识别,需重新执行source ~/.bashrc(或source ~/.zshrc),并确认PATH变量中包含$SPARK_HOME/bin
  • 端口冲突:若Master节点无法启动(提示端口8080被占用),可在spark-env.sh中修改SPARK_MASTER_PORT(如改为8081)。
  • 内存不足:若Worker节点启动失败(提示内存不足),可在spark-env.sh中调整SPARK_WORKER_MEMORY(如改为1g),或在spark-defaults.conf中配置Executor内存(如spark.executor.memory 1g)。
向AI问一下细节

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

AI