Spark集群安装配置步骤

本文档详述了如何在3台RedHat服务器上搭建Spark集群,包括配置hosts,下载并解压Spark,创建用户和群组,启动Master和Worker节点,并测试提交Spark Job。此外,还介绍了使用集群脚本启动/停止服务以及SSH无密码登录的配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文使用3台测试服务器,下面是各服务器的角色:

- node1:Worker
- node2:Worker
- node3:Master, Worker

1. 配置hosts文件

本文使用RedHat是在 /etc/hosts,新增3台测试服务器的ip/hostname对应关系(根据服务器实际情况修改下面的值):

$ vi /etc/hosts

xxx.100 node1
xxx.101 node2
xxx.102 node3

分别修改所有的服务器

2. 下载和解压Spark

2.1 下载链接:


http://mirrors.hust.edu.cn/apache/spark/spark-2.1.0/spark-2.1.0-bin-hadoop2.7.tgz

* 上面的下载link使用的是其中一个镜像
* 可自行修改上面的link下载相应的版本
* 如果不能访问公网,则需要自行下载然后上传到服务器

2.2 执行以下命令解压


$ tar xvf spark-2.1.0-bin-hadoop2.7.tgz

3. 创建用户和群组

本文使用组spark和用户spark

3.1 使用groupadd和useradd创建需要的群组和用户

$ groupadd spark
$ useradd -g spark spark

使用passwd修改用户的密码:

$ passwd spark

分别修改所有的服务器

3.2 修改目录权限

$ chown -R spark:spark $SPARK_HOME

* 上面$SPARK_HOME是上述解压的目录路径

4. 启动Master节点(在Master节点执行)

4.1 切换用户


$ su - spark

4.2 执行以下命令启动Master

$ sbin/start-master.sh

* 默认是在当前服务器启动Master节点,服务端口是7077,web UI端口是8080
* 如果出现如下信息证明启动成功,或者查看日志文件

$ sbin/start-master.sh -h
starting org.apache.spark.deploy.master.Master, logging to /xxx/spark-2.1.0-bin-hadoop2.7/logs/spark-spark-org.apache.spark.deploy.master.Master-1-x.out

4.3 查看Master状态

访问http://masterip:8080/ 可以查看状态,mas
### 安装配置 Spark 集群 #### 1. 下载并解压 Spark 软件包 首先需要下载适合版本的 Spark 软件包,例如 `spark-3.0.0-bin-hadoop3.2.tgz`。将其上传至服务器并解压缩到指定目录。 ```bash tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz mv spark-3.0.0-bin-hadoop3.2 /usr/local/spark ``` 此步骤完成后,需确保所有节点均拥有相同的 Spark 文件夹结构[^2]。 --- #### 2. 设置 SPARK_HOME 环境变量 编辑 `/etc/profile` 或者用户的 `.bashrc` 文件,添加如下内容: ```bash export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin ``` 随后通过以下命令使更改生效: ```bash source ~/.bashrc ``` 这一步骤是为了方便后续在终端中直接调用 Spark 的相关工具。 --- #### 3. 修改 Spark 配置文件 Spark配置文件位于其安装路径下的 `conf/` 目录中。以下是主要的几个配置文件及其作用: ##### (1) **`spark-defaults.conf`** 该文件用于定义默认参数设置。可以在此处添加一些常用的属性,比如: ```properties spark.master spark://master:7077 spark.executor.memory 2g spark.driver.memory 1g ``` 上述配置指定了 Master 地址以及 Executor 和 Driver 的内存大小。 ##### (2) **`spark-env.sh`** 这个脚本用来设定环境变量和其他高级选项。如果尚未存在,则可以从模板创建它: ```bash cp conf/spark-env.sh.template conf/spark-env.sh ``` 接着打开文件进行编辑,加入 JDK 和 Scala 的路径声明: ```bash JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 SCALA_HOME=/usr/local/scala ``` 注意这里假设已经完成了 Java 和 Scala 的安装配置[^5]。 ##### (3) **`slaves` 文件** 列出所有的 Worker 节点主机名或 IP 地址。例如: ``` worker1.example.com worker2.example.com worker3.example.com ``` 保存后同步这些改动到其余机器上以保持一致性[^1]。 --- #### 4. 实现免密码 SSH 登陆 为了简化管理流程,建议配置无密码访问机制以便于跨节点通信。具体方法是在 Master 上生成公钥,并将其追加到各 Slave 用户家目录内的 authorized_keys 中去。 --- #### 5. 将 Spark 复制到其他节点 利用 SCP 工具或者 rsync 技术快速传播已调整完毕的数据副本给集群成员们共享使用: ```bash rsync -avz /usr/local/spark user@worker1:/usr/local/ ``` 重复以上指令直至覆盖全部目标位置为止。 --- #### 6. 启动 Spark 集群 进入任意一台作为主控角色的工作站里运行启动命令: ```bash sbin/start-all.sh ``` 此时会自动连接各个子单元形成整体网络体系[^3]。 可以通过浏览器输入 http://<Master_IP>:8080 来验证是否成功加载 Web UI 页面显示当前状态信息。 --- #### 7. 测试功能正常与否 最后安排简单的作业来检验整个系统的运转情况。例如提交一段基于 HDFS 存储数据源的任务实例化过程演示效果如何等等。 --- ### 注意事项 在整个过程中需要注意两点:一是确认防火墙策略允许必要的端口开放;二是时刻关注日志记录寻找潜在错误提示加以解决[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值