一文讲透sparkHistoryServer与yarnHistoryServer关系

news2024/9/28 17:21:24

1、spark history 和 yarn history 的区别?

Spark History Server 和 YARN History Server 是用于查看和分析Spark和YARN 应用程序的执行情况的两个不同的工具。

Spark历史服务器是专门用于Spark应用程序的工具,它提供了一个界面,可以查看Spark应用程序的执行情况,包括执行时间、阶段状态、任务信息等。

YARN历史服务器是一个针对YARN(Hadoop生态系统中的资源管理器)应用程序的工具。它提供了一个界面,可以查看YARN应用程序的执行情况,包括使用的资源、任务执行时间等。

因此,Spark历史服务器专门用于Spark应用程序,而YARN历史服务器专门用于YARN应用程序。如果你想要查看和分析Spark应用程序的执行情况,则应使用Spark历史服务器;如果你想要查看和分析YARN应用程序的执行情况,则应使用YARN历史服务器。

2、SparkHistoryServer是否可以独立启动?

spark history server 使用时需要先开启 yarn history server吗?

不需要。Spark历史服务器是独立于YARN历史服务器运行的。你可以在不开启YARN历史服务器的情况下使用Spark历史服务器,也可以在开启YARN历史服务器的情况下使用Spark历史服务器。它们之间没有直接关系。

注意:如果你使用的是Spark on YARN模式,则需要配置Spark历史服务器以访问YARN历史服务器上的日志,以便能够查看Spark on YARN应用程序的执行情况。

3、sparkHistoryServer中查看executor日志为何要跳转到MR-HistoryServer?

虽然spark和MR的模型不同,都有自己的historyserver, 但是有一个是相通的,就是都是在YARN上运行, 每个container有统一的日志存放地址;
YARN在这里做了一个容易让人混淆的事情,就是YARN把container日志查询和查看的方式,做到MR的historyserver中了.
相当于是MR的historyserver提供了一个功能: 根据containerid或者applicationid,查询日志.
所以,YARN提供了yarn.log.server.url参数,指定查询日志的url,就是下面的配置:

     <property>
        <name>yarn.log.server.url</name>
         <value>http://localhost:19888/jobhistory/logs/</value>
     </property>

由于是YARN提供的,所以这个配置项放在: yarn-site.xml里.
所以,就好理解官方文档中如下的话了:

1 The logs are also available on the Spark Web UI under the Executors Tab. 
   这些日志也可以在Spark Web UI的Executors选项卡下找到。

2 You need to have both the Spark history server and the MapReduce history server running and configure yarn.log.server.url in yarn-site.xml properly. The log URL on the Spark history server UI will redirect you to the MapReduce history server to show the aggregated logs.
 您需要运行Spark历史服务器和MapReduce历史服务器,并在yarn-site.xml中正确配置yarn.log.server.url。Spark历史服务器UI上的日志URL会将您重定向到MapReduce历史服务器,以显示聚合的日志。

如果配置了上面的参数, 在Spark的history server中的"Executors"Tab页面, 可以帮你重定向到MapReduce history server中以及聚合的日志.

4、如何配置SparkHistoryServer?

配置spark-defualt.conf文件

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://bigdataha/bdp/eventLog

注意 spark.eventLog.dir 需要我们手动创建,最好chmod一下权限
如果集群hadoop环境需要kerberos认证,参考官网配置:https://spark.apache.org/docs/3.3.1/monitoring.html#spark-history-server-configuration-options

5、启停spark history server 服务

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

6、查看history ui

在这里插入图片描述

7、查看结束的spark-executor日志

8、关于spark_history_opts参数

网上经常说需要再spark-env.sh中配置spark_history_opts参数

# Configuration for the Spark History Server
# Optional: sets the URL for the Spark history server to listen on, if not set defaults to 0.0.0.0:18080
export SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.ui.port=18080"

# Optional: sets the location of the Spark event logs that the history server reads, if not set defaults to file:/tmp/spark-events
export SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=hdfs://your-hdfs-cluster/spark/applicationHistory"

解释:
SPARK_HISTORY_OPTS是一个环境变量,用于指定启动Spark历史服务器时的选项。这些选 项将用于设置Spark历史服务器的内存大小、运行时的日志级别等。
下面是一个SPARK_HISTORY_OPTS变量的示例:

SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=10"

在这个示例中,我们将Spark历史服务器的Web UI监听端口设置为18080,并限制保留的应用程序数量为10。

注意:SPARK_HISTORY_OPTS变量通常用于设置Spark历史服务器的运行时参数,而不是用于配置Spark历史服务器本身。

因此,不配置SPARK_HISTORY_OPTS也能查看Spark历史作业。SPARK_HISTORY_OPTS仅用于指定启动Spark历史服务器时的选项,并不影响查看历史作业的功能。

在没有配置SPARK_HISTORY_OPTS的情况下,Spark历史服务器将使用默认的配置启动,你仍然可以通过浏览器访问Spark历史服务器并查看历史作业。

9、关于历史服务器保存多久的application和历史文件是否压缩等配置

spark.history.updateInterval
#默认值:10,以秒为单位,更新日志相关信息的时间间隔

spark.history.retainedApplications
#默认值:50,在内存中保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,当再次访问已被删除的应用信息时需要重新构建页面。

spark.history.ui.port
#默认值:18080,HistoryServer的web端口

spark.history.ui.acls.enable
#默认值:false,授权用户查看应用程序信息的时候是否检查acl。如果启用,只有应用程序所有者和spark.ui.view.acls指定的用户可以查看应用程序信息;否则,不做任何检查

spark.eventLog.compress 
#默认值:false,是否压缩记录Spark事件,前提spark.eventLog.enabled为true,默认使用的是snappy

更多配置参考官网:https://spark.apache.org/docs/3.3.1/monitoring.html#viewing-after-the-fact

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动机器人设计与实践课程大纲

MiR移动机器人参考资料&#xff1a;图一 西北工业大学-课程平台图二 清华大学出版社-移动机器人目前&#xff0c;基本都是双一流大学开设此类课程&#xff0c;并且都是至少3-4学分&#xff0c;16学时/学分&#xff0c;48-64学时。(⊙﹏⊙)&#xff0c;难办了。咱这只有&#xf…

C++学习笔记-数据类型

在用任何语言编写程序时&#xff0c;需要使用各种变量来存储各种信息。 变量只是用于存储值的保留内存位置。 这意味着当创建变量时&#xff0c;在内存中保留了一些空间。 可能希望存储各种数据类型的信息&#xff0c;如字符&#xff0c;宽字符&#xff0c;整数&#xff0c;浮…

测试用例该怎么设计?—— 日常加更篇(下)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

Revit教程:怎么关掉工具栏的实时提示?

一、Revit中如何关闭工具栏的实时帮助提示 如图1所示&#xff0c;Revit会对每一个命令有一个简单的图文说明&#xff0c;方便不熟悉软件的用户使用。对于已经熟悉软件的用户&#xff0c;会觉得鼠标在菜单上悬停时弹出的实时帮助页面很干扰使用&#xff0c;而且很占内存资源&…

ESP-C3入门10. 创建TCP Client

ESP-C3入门10. 创建TCP Client一、创建 tcp client的一般步骤1. 创建 tcp 套接字2. 配置服务器地址3. 连接服务器4. 发送数据5. 接收数据6. 关闭套接字二、创建tcp_client任务三、示例代码1. tcpClient.h2. tcpClient.c3. main.c一、创建 tcp client的一般步骤 本文示例使用的…

【Redis】Redis 常用数据类型操作 ① ( 数据库操作 | Redis 数据库连接参数 | Redis 数据库个数 | Redis 访问机制 )

文章目录一、Redis 数据库连接参数二、Redis 数据库个数三、Redis 访问机制一、Redis 数据库连接参数 连接 Redis 数据库 , 只需要 IP 地址 , 端口号 , 访问密码 即可 , 如果没有 设置 访问密码 可忽略该选项 ; Redis 默认端口号是 6379 ; 参考 【Redis】Redis 数据库 安装、…

【C语言学习笔记】:折叠表达式

在C中通过折叠表达式可以更容易的在可变参数模板中处理可变参数。 先看一下传统的使用递归方式来处理可变参数的代码&#xff1a; #include <iostream>void print(int i) { std::cout << i << " ";}void func() {}template<typename T1, t…

C++为什么能重夺年度语言?

目录一、爷青回1、年初依旧很多大新闻&#xff0c;其中一条就是TIOBE把年度编程语言颁给了C。2、这是什么概念&#xff1f;那一年Java的流行指数是14%。二、C为什么衰落三、C为什么重新流行1、C为什么重新流行起来了呢&#xff1f;2、C究竟做对了什么呢&#xff1f;3、根本原因…

Python入门自学进阶-Web框架——31、开发客户报名流程

完成客户报名的流程流程大体如下&#xff1a;在已有收集的客户信息基础上——>销售填写报名表&#xff08;报什么班、课程顾问&#xff09;——>自动生成一个链接&#xff0c;让学员填写——>学员填写个人信息&#xff0c;并上传身份照片&#xff0c;同意合同协议——…

墨天轮【第二届数据库掌门人论坛】圆满收官 | 含嘉宾精彩观点回顾

2月10日上午&#xff0c;墨天轮【2023春季发布会暨第二届数据库掌门人论坛】盛大开启&#xff0c;本次活动的主题为“新征程&#xff0c;向未来”&#xff0c;共包含2022年度中国数据库颁奖盛典、2022年度行业发展报告发布以及第二届数据库掌门人论坛三项议程。华为云数据库服务…

win10-右键打开windows terminal

文章目录windows terminal设置右键打开打开注册表添加一个右键选项新建一个项添加右键的名称和图标右键选项执行的命令测试windows terminal windows 新一代命命令行 设置右键打开 打开注册表 WinR 输入&#xff1a; regedit 定位&#xff1a; 计算机\HKEY_CLASSES_ROOT\Di…

中国第一份ERP系统用户实名口碑选型报告(选型宝重磅发布!)

01 报告目录 一、 报告概况 二、 ERP类厂商-用户实名口碑排行 三、 ERP类产品-用户实名口碑对比 四、 主流ERP产品简介 五、 ERP常用功能 六、 算法说明 七、 联系选型宝 02 报告概述 一、报告亮点 这是一份完全由用户实名点评生成的ERP系统选型报告。 报告由选…

关于 Eclipse 的一场 “三角关系”

上个世纪 90 年代&#xff0c;世界上的计算机要么不联网&#xff0c;要么在企业内部联网。但是&#xff0c;在互联网的概念下&#xff0c;计算机之间共享信息和资源的需求成为了必要。 1995 年 5 月&#xff0c;Java 横空出世。Java 的父亲是当时凭借 Solaris 操作系统风头正盛…

2023-02-16 学习记录--React-邂逅Redux(三)

React-邂逅Redux&#xff08;三&#xff09; “天道酬勤&#xff0c;与君共勉”——承接React-邂逅Redux&#xff08;二&#xff09;&#xff0c;让我们一起继续探索Redux的奥秘吧~☺️【今日新知识——异步action】 一、什么是异步action&#xff1f; action有两种形式&#x…

C#:Krypton控件使用方法详解(第二讲) ——kryptonCheckBox

今天介绍的Krypton控件中的kryptonCheckBox&#xff0c;这个控件和VS中带的CheckBox控件还是不一样的&#xff0c;下面介绍这个控件。kryptonCheckBox控件的外观属性如下图所示&#xff1a;Checked属性&#xff1a;对应的属性值为Bool类型有两个&#xff0c;当属性值为true时kr…

DHCP协议

DHCP协议 文章目录DHCP协议DHCP作用及特点DHCP服务IP分配的三种方式DHCP协议中的报文类型DHCP服务工作流程抓包参考动态主机配置协议 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;&#xff0c;提供了一种 插网即用的技术。DHCP是一个应用层协议。当我们将…

CANoe仿真工程开发

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、网络拓扑图二、数据库文件设计四、Panel设计五、CAPL代码实现六、Automation Sequences七、分析窗口设置八、Trace窗口与Logging九、Desktop布局十、工程运行…

【算法 | 例题简答】相关例题讲解

目录 简答题 计算题 时间复杂度的计算 递归算法计算 背包问题&#xff08;0-1背包问题&#xff09; 回溯法 动态规划法 编程题 用回溯法解方程 动态规划法解决蜘蛛吃蚊子 用分治法解决抛硬币问题 用二分法分两边求最大值 简答题 1、什么是算法&#xff1f;算法有哪…

Revit问题:Navisworks中导入的rvt模型角度不正确调整

一、Navisworks中导入的rvt模型角度不正确调整方法 通常情况下&#xff0c;我们做好一个Revit模型&#xff0c;有时候出于成果保护或者鉴于Revit自带的碰撞检测效果不够直观、Revit模型体量太大&#xff0c;需要一个轻量化的模型展示&#xff0c;我们通常情况下会使用Autodesk公…

【python】基于Socket的聊天室Python开发

基于Socket的聊天室Python开发一、Socket简述二、创建服务端Server2.1 创建服务端初始化2.2 监听客户端连接2.3 处理客户端消息三、创建客户端Client3.1 创建服务端初始化3.2 发送消息3.3 接收消息3.3 线程工作3.4 线程工作是不是挺好玩的呢&#xff1f;也可以作为课程设计哦&a…