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
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等。
# 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
4. spark软件安装
现在开始安装spark 3.2.4软件,按照以下步骤进行。
# 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_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的升级和迁移过程。
# 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
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
