- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
——SparkUI的实现
任何系统都需要供给监控功能,不然在运转时期发生一些异样时,我们将会一筹莫展。或许有人说,能够增添日记来解决这个问题。日记只好解决你的程序逻辑在运转期的监控,从而发现Bug,以及供给对业务有帮助的调试信息。当你的JVM进度奔溃或许程序响应速度很慢时,这些日记将毫无用途。幸亏JVM供给了jstat、jstack、jinfo、jmap、jhat等工具帮助我们剖析,更有VisualVM的可视化界面以更为直观的方式对JVM运转期的状况进行监控。别的,像Tomcat、Hadoop等服务都供给了鉴于Web的监控页面,用阅读器能接见拥有款式及布局,并供给丰富监控数据的页面无疑是一种简单、高效的方式。
Spark自然也供给了
Web
页面来阅读监控数据,并且
Master、Worker、Driver
依据自己功能
供给了不一样内容的Web监控页面。不论是Master、Worker,仍是Driver,它们都使用了统
一的Web框架WebUI。Master、Worker及Driver分别使用MasterWebUI、WorkerWebUI及SparkUI供给的Web界面服务,后三者都继承自WebUI,并增添了个性化的功能。别的,在
Yarn或Mesos模式下还有WebUI的另一个扩展实现HistoryServer。HistoryServer将会显现已
经运转达成的应用程序信息。本章以SparkUI为例,并深入剖析WebUI的框架系统。
SparkUI概括
在大型散布式系统中,采纳事件监听体制是最常有的。为何要使用事件监听体制?
若是SparkUI采纳Scala的函数调用方式,那么跟着整个集群规模的增添,对函数的调用会
愈来愈多,最后会遇到Driver所在JVM的线程数目限制而影响监控数据的更新,甚至出现
监控数据没法实时显示给用户的状况。因为函数调用多半状况下是同步伐用,这就致使线程
被堵塞,在散布式环境中,还可能因为网络问题,致使线程被长时间占用。将函数调用改换
为发送事件,事件的办理是异步的,目前线程能够持续履行后续逻辑从而被迅速开释。线程
池中的线程还能够被重用,这样整个系统的并发度会大大增添。发送的事件会存入缓存,由
准时调动器拿出后,分派给监听此事件的监听器对监控数据进行更新。SparkUI就是这样的
服务,它的构成如图1所示。
图1
SparkUI的构成
图1显现了SparkUI中的各个组件,这里对这些组件作简单介绍:
SparkListenerEvent事件的根源:包含DAGScheduler、SparkContext、DriverEndpoint
、
BlockManagerMasterEndpoint
以及LocalSchedulerBackend
等,这些组件将会产生各样
SparkListenerEvent,并发送到
listenerBus的事件行列中。
DriverEndpoint
是Driver
在
Standalone或local-cluster模式下与其余组件进行通讯的组件,
本书将在9.9.2节详尽介绍。
BlockManagerMasterEndpoint
是Driver对分派给应用的全部
Executor及其BlockManager
进行一致管理的组件,本书将在
6.8节详尽介绍。LocalSchedulerBackend
是local模式下
的调动后端接口,用于给任务分派资源或对任务的状态进行更新,本书将在
7.8.2节详尽介
绍。
事件总线
listenerBus。依据《Spark2.1.0之源码剖析——事件总线》一文对事件总线的介
绍,我们知道listenerBus
通过准时器将SparkListenerEvent
事件般配到详细的
SparkListener,从而改变各个
SparkListener中的统计监控数据。
SparkUI
的界面。各个SparkListener内的统计监控数据将会被各样标签页和详细页面显现
到Web界面。标签页有StagesTab、JobsTab、ExecutorsTab、EnvironmentTab以及
StorageTab。每个标签页中包含若干个页面,例如StagesTab标签页中包含了
AllStagesPage、StagePage及PoolPage三个页面。
控制台的显现。仔细的读者会发现图1中还有SparkStatusTracker
(Spark状态追踪器)和
ConsoleProgressBar(控制台进度条)两个组件。SparkStatusTracker负责对Job和Stage
的监控,其实质也是使用了JobProgressListener中的监控数据,并额外进行了一些加工。
ConsoleProgressBar负责将
您可能关注的文档
最近下载
- 2026年徐州工业职业技术学院单招职业适应性考试备考题库及答案解析.docx VIP
- 多边形的外角和.pptx VIP
- 六升七暑假预习小四门(历史、地理、生物、道法)资料汇总.pdf VIP
- 中华匠艺-苏州缂丝织造技艺 本缂丝与明缂丝 本缂丝与明缂丝.docx VIP
- DB33T 2279-2020 抹茶审评技术规范.pdf VIP
- 2025.12行政执法监督条例全文解读课件.pptx VIP
- 人教版五年级体育上册《小足球》(水平三)单元作业设计.docx VIP
- 《健康饮食与营养学》课件.ppt VIP
- 贵州省情教案.doc
- 2023年徐州工业职业技术学院单招考试综合素质模拟试题及答案解析.docx VIP
原创力文档


文档评论(0)