Apache Spark作为当前最流行的大数据处理框架之一,广泛应用于数据分析,机器学习等领域。Spark生态系统已经发展成一个可应用于大规模数据处理的统一分析引擎,它是基于内存计算的大数据并行计算框架,适用于各种各样的分布式平台的系统。本文将介绍关于Spark的安装有关步骤。
一、环境准备
1.1 系统更新与工具安装
sudo yum update -y
sudo yum install -y wget tar vim
1.2 Java环境(必须JDK8/11)
sudo yum install -y java-1.8.0-openjdk-devel
java -version # 需截图显示"openjdk 1.8.0_xxx"
二、Spark安装与配置
2.1 下载Spark 3.5.2
wget https://archive.apache.org/dist/spark/spark-3.5.2/spark-3.5.2-bin-hadoop3.tgz
2.2 解压与目录配置
tar -zxvf spark-3.5.2-bin-hadoop3.tgz
sudo mv spark-3.5.2-bin-hadoop3 /servers/spark-3.5.2
sudo chmod -R 755 /servers/spark-3.5.2 # 权限设置
2.3 环境变量配置
sudo vim /etc/profile.d/spark.sh
添加内容:
export SPARK_HOME=/servers/spark-3.5.2
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export PYSPARK_PYTHON=/usr/bin/python3
三、关键配置优化
3.1 修改spark-env.sh
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export SPARK_MASTER_HOST=$(hostname -I | awk '{print $1}')
export SPARK_LOCAL_IP=${SPARK_MASTER_HOST}
export SPARK_WORKER_MEMORY=4g # 根据内存调整
3.2 集群模式配置(可选)
./sbin/start-master.sh
./sbin/start-worker.sh spark://<MasterIP>:7077
四、验证与测试
4.1 启动Spark Shell
spark-shell
4.2 运行示例任务
val data = sc.parallelize(1 to 100)
data.sum() // 预期输出4950.0
4.3 提交Spark Pi任务
spark-submit --class org.apache.spark.examples.SparkPi \
$SPARK_HOME/examples/jars/spark-examples_2.12-3.5.2.jar 100
五、常见问题解决
5.1 Java版本冲突
sudo alternatives --config java # 选择JDK8
5.2 端口冲突
sudo netstat -tunlp | grep 8080
sudo kill -9 <PID>
5.3 Python支持
sudo yum install python3-pip
pip3 install pyspark==3.5.2 # 匹配Spark版本:cite[10]