Spark 配置历史服务

本文章的前提是
Spark 3.5.0 独立部署(Standalone)模式
or
Spark Yarn模式

1.在Hadoop上创建用于存放Spark日志的存储路径

hadoop fs -mkdir /spark_logs

2.tmp目录创建存放事件日志的目录

mkdir /tmp/spark-events

3.修改Spark的配置文件

cd /usr/spark/spark-3.5.0-bin-hadoop3/conf
mv spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://192.168.58.130:8020/spark_logs

如果运行在yarn模式下,还需要添加yarn相关的配置

spark.yarn.historyServer.address=192.168.58.130:18080
spark.history.ui.port=18080
spark.history.fs.logDirectory=hdfs://192.168.58.130:8020/spark_logs

4.修改 spark-env.sh 文件, 添加日志配置

在配置文件中配置了历史服务器的参数,在此处可以不配置

# spark.history.ui.port: WEB UI 访问的端口号为 18080
# spark.history.fs.logDirectory: 指定历史服务器日志存储路径
# spark.history.retainedApplications: 指定保存 Application 历史记录的个数,如果超过这个值,旧的应用程序
# 信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://192.168.58.130:8020/spark_logs
-Dspark.history.retainedApplications=30"

5.重新启动集群并启动历史服务

../sbin/start-all.sh
../sbin/start-history-server.sh

6.执行一个测试任务

cd ..
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://192.168.58.130:7077 ./examples/jars/spark-examples_2.12-3.5.0.jar 10

如果运行在yarn模式下,执行下面的命令

cd ..
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.12-3.5.0.jar 10

7.查看历史服务

http://192.168.58.130:18080/

posted @ 2024-01-01 15:44  SpringCore  阅读(59)  评论(0编辑  收藏  举报