本文包括如下内容:
-
Spark History Server的作用
-
配置Spark History Server
-
运行Spark History Server
-
查看Spark程序的运行信息
Spark History Server的作用
在 运行Spark应用程序的时候,driver会提供一个webUI用于展现应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口。也就是说,这个服务是伴随Spark应用程序的运行周期的,也就是当应用程序运行完成后,将无法查看应用程序的历史记录。Spark history server就是为了应对这种情况而产生的,通过配置,Spark应用程序在运行完应用程序之后,将应用程序的运行信息写入指定目录,而Spark history server可以将这些运行信息装载并以web的方式供用户浏览
伴随Spark应用程序而启动的web查看服务的默认端口号是4040,或者4041(如果当前端口被占用,比如4040被占用,那么Spark会抛一个异常,但是不影响应用继续运行,driver会使用这个已用的端口加1,以此类推)
配置Spark History Server
1. 在Spark的conf目录下,将spark-defaults.conf.template改名为spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
2. 对spark-defaults.conf作如下配置
///Spark Master的IP/Port spark.master spark://hadoop.master:7077 ///是否记录作业产生的事件或者运行状态(job,stage等使用内存等信息) spark.eventLog.enabled true ///如果记录作业产生的事件或者运行状态,则将事件写入什么位置 spark.eventLog.dir hdfs://hadoop.master:9000/user/hadoop/sparkevtlog ///http history的监听端口号,通过http://hadoop.master:18080访问 spark.history.ui.port 18080
启动Spark History Server
1, 使用如下命令启动History Server
[hadoop@hadoop sbin]$sbin/start-history-server.sh
启动完成后,发现18080并没有监听,到Spark的logs目录下查看history server的启动日志,发现报如下错误:
Caused by: java.lang.IllegalArgumentException: Log directory specified does not exist: file:/tmp/spark-events. Did you configure the correct one through spark.fs.history.logDirectory?
2. 将spark.fs.history.logDirectory配置到conf/spark-defaults.conf目录里,发现并不起作用,
3.查看start-history-server.sh脚本内容,发现这个参数可以作为启动脚本的第一个参数传递:
if [ $# != 0 ]; then echo "Using command line arguments for setting the log directory is deprecated. Please " echo "set the spark.history.fs.logDirectory configuration option instead." export SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=$1" fi
所以使用如下命令启动History Server
./start-history-server.sh hdfs://hadoop.master:9000/user/hadoop/sparkhistorylog
查看作业的执行情况
1. 当History第一次启动,从没有作业执行,那么History Server上不显示内容(只提示没有Job信息可供查看)
2. 使用spark-submit提交一个作业,保证SparkContext调用了stop方法,否则History Server不会显示历史信息
3.访问http://hadoop.master:18080得到如下结果
查看作业信息
点击App ID访问http://192.168.26.136:18080/history/app-20150110055201-0002/,可以打开这个Spark程序的执行情况。
可以查看如下信息:
-
Spark程序启动几个作业
-
这个Spark程序一个Job包含多少Stages
-
这个Spark程序一共包含多少个Stages
-
Stage的详细信息
-
这个Spark程序是几个Executor执行完成的
1. 在这个Spark程序启动几个Job
2. Spark程序一个Job包含多少Stages
3. Spark程序一共包含多少个Stages
4. Stage的详细信息
5. Spark程序是几个Executor执行完成的
相关推荐
- **启动Spark History Server**:为了查看Spark作业的历史记录,需要启动Spark History Server。 - **提交应用**:使用`spark-submit`命令提交Spark应用程序,指定YARN为资源管理器。 5. **注意事项**: - **...
10. **Spark工具和生态**:熟悉如SparkSubmit、Spark UI、Spark History Server等工具,以及与其他大数据工具(如Hive、Kafka、HDFS等)的集成。 总的来说,Spark是一个功能强大的大数据处理框架,涵盖了多个领域的...
7. 调优工具:使用Spark UI和Spark History Server监控作业运行情况,分析瓶颈并进行优化。 8. 参数调优:根据具体场景调整Spark的各类参数,如`spark.executor.instances`、`spark.sql.shuffle.partitions`等。 ...
Spark 任务调度是 Spark 生产优化的关键,Spark 的任务调度可以使用 YARN 调度,启动 start-history-server.sh 可以查看任务运行状况。Metrics REST API 可以查看任务的详细信息。外部监控工具如 Ganglia 和 ...
在本文档中,我们使用 `start-all.sh` 和 `start-history-server.sh` 脚本来启动 Spark 集群。 五、HDFS 配置 在 Spark 分布式环境中,HDFS 是一种常用的分布式文件系统。在本文档中,我们使用 HDFS 来存储 Spark ...
- 如果需要使用 Spark History Server 和其他自定义配置,还需要编辑 `spark-defaults.conf` 文件。 #### 五、分发安装文件 **1. 拷贝 Scala 和 Spark 到其他节点** - 使用 `scp` 命令将 Scala 和 Spark 的安装...
- **Spark History Server**:可以保存已完成的 Spark 应用程序的详细历史记录,方便后续分析。 - **Spark Metrics**:提供了监控 Spark 应用程序性能的各种指标。 通过以上介绍可以看出,Spark 不仅是一个强大的...
6. 启动 Spark 集群,包括 HistoryServer 和 Worker。 四、集群启动 在各节点上分别启动 Zookeeper、Hadoop 和 Spark 的相关服务。确保所有服务正常运行,可以通过相应的管理工具或命令行检查服务状态。 以上就是 ...
10. **Spark服务端口**:Spark默认使用的端口包括8080(Web UI)、4040(Spark History Server UI),18080可能不是Spark自带的服务端口。 11. **广播变量**:广播变量在Spark中是只读的,存储在每个节点上,但不...
7. 集成工具:Spark提供了一系列工具,如SparkSubmit用于提交应用,Spark History Server用于查看应用历史,以及Spark Web UI用于监控应用状态。 在下载并解压"spark-2.4.1-bin-hadoop2.6"压缩包后,用户通常会找到...
12. **Spark监控与调试**:通过Spark UI、Spark History Server和日志监控,可以追踪作业状态,诊断性能问题。 以上是Spark大数据处理中的关键知识点,它们涵盖了Spark的主要功能和使用场景,对于理解和掌握Spark...
1. Spark History Server:查看作业历史,监控性能。 2. Spark UI:通过Web界面实时查看作业状态、Stage信息等。 总结,Spark for Python开发者不仅需要理解Spark的核心概念和API,还需要掌握如何在Python环境中...
- History Server (http://masterIP:18080):存储并展示完成的应用历史信息,需额外配置。 - HDFS UI (http://masterIP:50070):监控Hadoop文件系统的状态。 2. **工作负载数据集大小** 数据集大小应与硬件资源...
其他如Stable Codegen(稳定代码生成)、ML on Streaming(流处理上的机器学习)、History Server V2(历史服务器版本2)、Stream-stream Join UDF(流-流连接用户定义函数)等增强,也为数据科学家和数据工程师提供...
- 使用`./start-all.sh`和`./start-history-server.sh`启动Spark服务。 ##### 9. 查看Spark服务状态 - **访问地址**: 在浏览器中访问`http://localhost:8080/`来检查Spark服务的状态。 #### 二、Scala环境配置 #...
标题"spark toolsssss"可能指的是Spark相关的工具或工件,可能包括Spark Shell(交互式命令行环境)、Spark Submit(提交应用程序的工具)、Spark History Server(用于查看已完成作业的历史记录)以及各种开发工具...
10. **故障排查与监控**:如何利用Spark提供的工具进行应用监控和错误排查,如Spark UI、Spark History Server等。 本课程的两个部分可能分别侧重于基础理论和实践应用,帮助学员从理论到实践全面掌握Spark技术,并...
Spark提供了丰富的监控工具,如Spark UI、Spark History Server以及第三方工具如Ganglia、Prometheus和Grafana等,用于实时查看作业状态、资源使用情况、任务延迟等关键指标。 1. Spark UI:提供Web界面,展示正在...
2. Spark History Server:启用Spark History Server,可以查看Spark作业的历史记录和日志。 六、优化技巧 1. 参数调优:根据集群资源和任务需求调整executor的数量、内存和CPU等参数。 2. 数据源和持久化:合理...
Spark调优是一个复杂而重要的过程,它涉及到多个层面,包括资源管理、内存配置、代码优化、数据...实际操作中,还需要结合Spark的监控工具(如Spark UI和History Server)对作业进行分析,找出性能瓶颈并针对性地优化。