1、基础环境配置
安装spark
将spark3.3上传到linux
将spark文件解压到/usr/local文件夹下
tar -zxvf spark-3.3.0-bin-hadoop3.tgz -C /usr/local/
重命名文件夹
cd /usr/local
mv spark-3.3.0-bin-hadoop3/ spark
ls
配置spark-evn.sh文件:
进入spark目录的conf文件夹下,并对spark-env.sh.template进行更改名称或者进行复制:
cd /usr/local/spark
cd /conf
cp spark-env.sh.template spark-env.sh
对此文件进行配置:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.181.130 #此处IP地址是master主机的地址
export SPARK_MASTER_HOST=master
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080
-Dspark.history.retainedApplications=5
-Dspark.history.fs.logDirectory=hdfs://master:9000/spark-app-history"
配置环境变量:
vim ~/.bashrc
修改内容:
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.5-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin:$PATH
使修改生效:
source ~/.bashrc
至此,spark已经安装完成,但是仅可在单机模式下使用。
2、spark运行模式
执行以下测试命令:
./bin/spark-submit --master local[8] --class org.apache.spark.examples.SparkPi /usr/local/spark/examples/jars/spark-examples_2.12-3.3.0.jar
结果(第一次进行测试时,显示结果较长,但)可以看出明显的Pi is roughly ... ...:
Standalone模式:
将spark-defaults.conf.template 重命名为spark-defaults.conf
cp spark-defaults.conf.template spark-defaults.conf
在文件底部添加:
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:9000/spark-app-history
spark.eventLog.compress true
将workers-template重命名为workers
cp workers-template workers
将文件底部的localhost修改为master,另添加slave1如下
启动hadoop集群 :
创建文件夹:
cd $HADOOP_HOME
./sbin/start-all.sh
//在hdfs上创建spark-app-history目录:
hdfs dfs -mkdir /spark-app-history
启动spark集群:
cd $SPARK_HOME
./sbin/start-all.sh
启动history-server:
cd $SPARK_HOME
./sbin/start-history-server.sh
配置结果:
jps,查看节点结果:
动手搭建spark集群 :
在Standalone模式的基础上,执行以下命令,将整个spark目录复制到slave1
复制到slave1:
scp -r /usr/local/spark root@slave1:/usr/local/
修改slave1的环境变量,和master保持一致:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.5-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin:$PATH
执行以下命令,使之生效:
source ~/.bashrc
启动spark集群:
去掉调试信息中的info,文件位置(/usr/local/spark/conf):
cp log4j2.properties.template log4j2.properties
对文件中19,20行进行修改将此处的rootLogger.level=info修改为如下所示:
master:
slave1的节点数据:
如下图示,即成功的实现了spark集群的搭建。