1. 首页 > 软件安装教程 > 正文

spark安装-spark 3.2.4 for RHEL 9安装配置及升级迁移详细过程

1. 硬件环境检查

在安装spark之前,必须对服务器的硬件环境进行全面检查,确保满足spark 3.2.4的最低要求。更多学习教程www.fgedu.net.cn

# 检查内存大小
# free -h
total used free shared buff/cache available
Mem: 64G 2.1G 60G 8.5M 1.8G 61G
Swap: 32G 0B 32G

# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 8.5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 1TB 20G 980G 2% /data

# 检查CPU核心数
# nproc
16

# 检查系统架构
# uname -m
x86_64

生产环境建议:Spark集群建议至少3个节点,每个节点内存32GB以上,CPU 8核心以上,磁盘空间500GB以上。数据目录建议使用SSD或RAID阵列,以提高性能。

2. 操作系统检查

spark 3.2.4支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)

# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64

# 检查SELinux状态
# getenforce
Disabled

# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled

# 检查防火墙状态
# systemctl status firewalld

# 关闭防火墙(生产环境建议开放特定端口而非完全关闭)
# systemctl stop firewalld
# systemctl disable firewalld

3. 安装准备

在安装spark之前,需要进行一系列准备工作,包括安装Java、Hadoop等。

# 安装Java
# dnf install -y java-1.8.0-openjdk-devel

# 配置Java环境变量
# echo “export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk” >> ~/.bashrc
# echo “export PATH=$JAVA_HOME/bin:$PATH” >> ~/.bashrc
# source ~/.bashrc

# 安装Hadoop
# wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
# tar -zxvf hadoop-3.3.4.tar.gz -C /opt/
# echo “export HADOOP_HOME=/opt/hadoop-3.3.4” >> ~/.bashrc
# echo “export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin” >> ~/.bashrc
# source ~/.bashrc

# 安装Python
# dnf install -y python3

风哥提示:Spark依赖于Java和Hadoop,必须先安装并启动这些服务。

4. spark软件安装

现在开始安装spark 3.2.4软件,按照以下步骤进行。

# 下载Spark安装包
# wget https://archive.apache.org/dist/spark/spark-3.2.4/spark-3.2.4-bin-hadoop3.2.tgz

# 解压安装包
# tar -xzvf spark-3.2.4-bin-hadoop3.2.tgz -C /opt/
# mv /opt/spark-3.2.4-bin-hadoop3.2 /opt/spark

# 配置Spark环境变量
# echo “export SPARK_HOME=/opt/spark” >> ~/.bashrc
# echo “export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin” >> ~/.bashrc
# source ~/.bashrc

5. 数据库配置

配置Spark的核心配置文件。

# 复制配置文件模板
# cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
# cp $SPARK_HOME/conf/slaves.template $SPARK_HOME/conf/slaves

# 编辑spark-env.sh
# vi $SPARK_HOME/conf/spark-env.sh

# 添加以下配置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/opt/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_MASTER_HOST=localhost
export SPARK_WORKER_MEMORY=48g
export SPARK_WORKER_CORES=12
export SPARK_MASTER_PORT=7077

# 编辑slaves文件
# vi $SPARK_HOME/conf/slaves
# 添加以下内容
localhost

6. 测试验证

启动Spark并验证功能正常。学习交流加群风哥QQ113257174

# 启动Spark Master
# $SPARK_HOME/sbin/start-master.sh

# 启动Spark Worker
# $SPARK_HOME/sbin/start-worker.sh spark://localhost:7077

# 检查Spark状态
# curl http://localhost:8080

# 运行Spark Pi示例
# spark-submit –class org.apache.spark.examples.SparkPi
$SPARK_HOME/examples/jars/spark-examples_2.12-3.2.4.jar 100

# 启动Spark Shell
# spark-shell

# 执行简单的Spark操作
scala> val rdd = sc.parallelize(1 to 1000)
scala> rdd.sum()
scala> exit()

7. 备份配置

配置Spark备份策略,确保数据安全。

# 创建备份目录
# mkdir -p /backup/spark

# 备份Spark配置
# cp -r $SPARK_HOME/conf /backup/spark/conf_$(date +%Y%m%d)

# 备份Spark作业
# cp -r $SPARK_HOME/jobs /backup/spark/jobs_$(date +%Y%m%d)

# 配置自动备份
# 创建备份脚本
# vi /root/backup_spark.sh

#!/bin/bash

DATE=$(date +%Y%m%d)
BACkUP_DIR=”/backup/spark/$DATE”

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份Spark配置
cp -r $SPARK_HOME/conf $BACKUP_DIR/

# 备份Spark作业
cp -r $SPARK_HOME/jobs $BACKUP_DIR/ 2>/dev/null || echo “Jobs directory not found”

# 给脚本添加执行权限
# chmod +x /root/backup_spark.sh

# 添加到crontab
# crontab -e

# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_spark.sh

8. 升级迁移

Spark的升级和迁移过程。

# 升级Spark版本
# 1. 备份配置和数据
# /root/backup_spark.sh

# 2. 停止Spark服务
# $SPARK_HOME/sbin/stop-all.sh

# 3. 下载新版本安装包
# wget https://archive.apache.org/dist/spark/spark-3.2.4/spark-3.2.4-bin-hadoop3.2.tgz

# 4. 解压安装包
# tar -xzvf spark-3.2.4-bin-hadoop3.2.tgz -C /opt/
# mv /opt/spark /opt/spark-old
# mv /opt/spark-3.2.4-bin-hadoop3.2 /opt/spark

# 5. 复制配置文件
# cp -r /opt/spark-old/conf/* /opt/spark/conf/

# 6. 启动Spark服务
# $SPARK_HOME/sbin/start-all.sh

# 7. 验证升级结果
# spark-submit –version

# 数据库迁移
# 从旧版本Spark迁移到Spark 3.2.4

# 1. 在旧系统上备份配置和作业
# cp -r $SPARK_HOME/conf /opt/spark-conf-backup
# cp -r $SPARK_HOME/jobs /opt/spark-jobs-backup 2>/dev/null || echo “Jobs directory not found”

# 2. 将备份文件复制到新系统
# scp -r /opt/spark-conf-backup root@new-cluster:/backup/spark/
# scp -r /opt/spark-jobs-backup root@new-cluster:/backup/spark/ 2>/dev/null || echo “Jobs directory not
found”

# 3. 在新系统上恢复配置
# cp -r /backup/spark/spark-conf-backup/* /opt/spark/conf/
# cp -r /backup/spark/spark-jobs-backup/* /opt/spark/jobs/ 2>/dev/null || echo “Jobs directory not found”

# 4. 从HDFS复制数据
# hadoop fs -cp hdfs://old-cluster:9000/spark hdfs://new-cluster:9000/

# 5. 验证迁移结果
# spark-submit –class org.apache.spark.examples.SparkPi
$SPARK_HOME/examples/jars/spark-examples_2.12-3.2.4.jar 10

风哥提示:Spark升级和迁移前,建议先在测试环境进行演练,确保升级过程顺利。同时,备份所有重要数据,以防万一。

9. 总结

本文详细介绍了spark 3.2.4 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署Spark集群并确保其稳定运行。from:www.itpux.com

生产环境建议:
– 定期备份Spark配置和作业,建议每天执行一次全备份
– 监控Spark集群性能,定期检查日志和错误信息
– 定期更新Spark版本,确保系统安全性和性能
– 合理规划集群资源,避免资源不足
– 配置合适的参数,优化Spark作业性能
– 对于生产环境,建议部署高可用的Spark集群,提高可用性和可靠性

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息