当前位置: 首页 > news >正文

配置Spark历史服务器,轻松查看任务记录

在大数据处理中,Spark是一个强大的分布式计算框架。但当Spark服务重启后,之前的运行记录就会消失,给我们排查问题和分析任务执行情况带来不便。这时,配置Spark历史服务器就显得尤为重要,它能帮助我们保存和查看历史任务记录。下面就来详细介绍如何配置Spark历史服务器。

一、准备工作

在开始配置之前,需要确保HDFS服务处于开启状态,因为我们会把历史任务的记录保存在HDFS集群文件中。

二、具体配置步骤

         1. 停止Spark集群

                进入`/opt/module/spark - standalone/sbin`目录,运行命令`./stop - all.sh`,停止当前正在运行的Spark集群。这一步是为了在后续修改配置文件时,避免出现冲突。

         2. 修改spark - default.conf文件

                找到`/opt/module/spark - standalone/conf/spark - default.conf.template`文件,将其名称修改为`spark - default.conf` 。

                然后在文件中补充以下两个设置: ``` spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop100:8020/directory ```

                这里`spark.eventLog.enabled`设置为`true`,表示启用事件日志记录功能;`spark.eventLog.dir`指定了历史任务相关信息的保存目录,是HDFS上的`/directory`文件夹 。

                需要注意的是,要确保这个目录存在,并且HDFS服务正常运行。

         3. 启动HDFS服务并创建目录

                运行`start - dfs.sh`启动Hadoop的HDFS服务。

                可以通过命令行(如`hdfs dfs - mkdir - p hdfs://hadoop100:8020/directory` )或者在`hadoop100:9870`的Web页面操作来创建`directory`目录。 

         4. 修改spark - env.sh文件

                在`spark - env.sh`文件中添加以下配置: ``` export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop100:8020/directory" ``` 这一步是为历史服务器指定日志存储目录,使其能够正确读取和展示任务历史记录。

         5. 分发配置文件

                使用`xsync /opt/module/spark - standalone/conf/`命令,将修改后的配置文件分发到集群中的其他机器上,保证整个集群配置的一致性。 

         6. 重新启动Spark集群

                在`/opt/module/spark - standalone/sbin`目录下,运行`./start - all.sh`命令,重新启动Spark集群。

         7. 启动历史服务器

                在相同目录下,运行`./start - history - server.sh`命令,启动Spark历史服务器。启动后,可以检查`spark - standalone/logs`目录下的日志,查看历史服务器的启动情况是否正常。

         8. 查看效果

                此时,通过浏览器访问`hadoop100:18080`端口,正常情况下应该暂时看不到任务记录,因为还没有提交新的任务。

         9. 验证配置

                重新提交一个新的Spark任务,然后再次回到`hadoop100:18080`端口对应的页面,这时就应该能够看到刚刚提交的任务记录了。 

三、总结

通过以上一系列步骤,我们成功配置了Spark历史服务器。这样在后续的工作中,无论是排查任务执行失败的原因,还是分析任务的运行效率,都可以方便地通过历史服务器查看相关记录,大大提高了工作效率,也让我们对Spark任务的管理更加得心应手。

相关文章:

  • 算法训练营第一天|704.二分查找、27.移除元素、977.有序数组的平方
  • 【哈希表】1399. 统计最大组的数目
  • Java学习手册:Web 安全基础
  • 【KWDB 创作者计划】_上位机知识篇---MicroPython
  • 青少年编程与数学 02-018 C++数据结构与算法 06课题、树
  • Kairos 生态有哪些值得关注的进展?
  • 搭建Stable Diffusion图像生成系统实现通过网址访问(Ngrok+Flask实现项目系统公网测试,轻量易部署)
  • Linux:进程地址空间
  • 基于Python将MongoDB文本数据通过text2vec-large-chinese模型向量化并存储到Milvus数据库的完整实现方案
  • 20、 DeepSeekMoE论文笔记
  • TCP 协议:原理、机制与应用
  • windows端远程控制ubuntu运行脚本程序并转发ubuntu端脚本输出的网页
  • SVN仓库突然没有权限访问
  • 奇安信春招面试题
  • linux内核进程管理(1)——创建,退出
  • 两个面向视觉定位的遥感船舶数据集:RSSVGSARVG
  • 深入解析 Spring Boot Test:架构、核心组件与最佳实践
  • 《多Agent架构VS千万字长文本VS深度推理引擎——拆解Coze、通义、Kimi的AI终局博弈密码》
  • HCIP实验二(OSPF网络配置与优化)
  • Android kotlin通知功能完整实现指南:从基础到高级功能
  • 消息人士称以色列政府初步同意扩大对加沙军事行动
  • 安徽两位新任地级市政府党组书记亮相
  • 保险经纪公司元保在纳斯达克挂牌上市,去年净赚4.36亿元
  • 王毅谈金砖国家反恐和网络安全合作
  • 全国人大常委会关于授权国务院在中国(新疆)自由贸易试验区暂时调整适用《中华人民共和国种子法》有关规定的决定
  • 青海西宁市城西区副区长于媛媛主动投案,接受审查调查