技术|Inceptor任务的图形化分析(二)

浏览: 2490

Inceptor管理界面端顶部提供了七个标签页:Jobs、Cluster、Local、Storage、Holodesk、Environment、Executors。上一篇文章中已介绍了Jobs和Cluster两个标签页的使用和浏览方式,本文将衔接上篇文章对剩余5个标签页的使用和浏览方式进行介绍。

这五个页面中,Local、Holodesk和Executor三个页面较常使用。其中,Local页显示了Local模式下执行的所有SQL语句的相关信息,Holodesk页面提供了各个内存表信息,Executors页面显示着包含了各个Executor的信息的列表,均是对任务执行状态进行管理监测时应注意关注的页面对象。而Storage Environment的使用频率相较而言不高,Environment通常用于帮助纠错调优。

Local

和Cluster标签页相同,Local页也在左上角记录了各类Stage数量。

例如,某集群当前各类Stage数量情况、Active Stages、Completed Stages与Failed Stages的信息在Local页的界面如下图所示。


该页面显示此集群目前有三个Completed Stages,Active Stage和Failed Stage的数量为零。

Storage

Storage页存储着内存表信息,但目前已基本废除。因而这里不再详叙。

Holodesk

Holodesk页面提供了关于各个Holodesk内存表的信息。其描述内容有三方面:Table Name、Block Number、Total Size,分别表示表名、表被分为多少块文件存储和表的总大小。在点击Holodesk按钮后会进入如下所示界面:

        

进入表的链接后可以看到对应表的各个Block的存放位置和大小。例如,点击进入第二行tpcds_holodesk_2.customer_address表的信息描述界面,如下图所示:

      

该页面提供了该表的名称,以及分别包含该表相关Host和Block信息的两张列表。第一个列表名称为Host Information,记录了表内数据分布在哪些机器上,每台机器上存放的Block数量及大小。第二个列表为TableInfo,记录了该表被划分为的Block名称和分别所在的Host以及规格大小。

读者可以依据该页面的信息来判断Block的划分是否均匀,存放节点的分布是否合适,从而对文件的大小和分布方式进行调节。例如,如果同属一张Holodesk表的Block之间如果大小相差悬殊,就说明存在数据倾斜,此时需要靠一些手段(如分桶)使数据分布均匀。

Environment 

Environment页记录着环境配置信息,在需要进行环境检查的必要情况下,用户可以通过它获取有效信息。读者可自行登录到该页面观察所需内容。这里不再详叙。

Executors

Executors页面显示了集群中各个Executor的信息,这些属性信息通过Executors列表反馈。该列表由以下11个维度构成:

                                                            

例如,某一集群的Executors页面的列表如下图所示:

     

列表上的信息可用于检查集群上的Executor数量,读者可以通过比较此数量是否和设置相符,来判断集群是否有未启动的Executor。

另外还可以观察Shuffle Read/Write的数量来判断任务量在整个集群的分配是否合理、处理的数据量大小是否合适。

尤其应注意Executor ID值的分配是否有中断。正常情况下,Executor ID包含着从1至n的n个连续整数以及<driver>。(<driver>代表负责语句编译与任务分配的Master节点)。由于每次Executor重启后都会被分配一个新的Executor ID,原来的号码会从列表上消失,所以如果ExecutorID除<driver>之外的值出现断号,就说明位于断点的Executor发生过退出和启动(可能是由GC引发)。如果重启次数过多,有必要对性能和业务执行分析,例如检查内存是否溢出、磁盘是否不足、是否有宕机现象。

使用总结

本文对Inceptor管理界面中的Local、Holodesk、Executors以及Environment、Storage五个页面进行了介绍,其中着重介绍了前三个标签页。

学会阅读并分析Local、Holodesk、Executors中的信息对于任务的优化将会有很大帮助。

实际应用过程中,在浏览Local页面时,我们需要了解Local模式下任务的执行情况,利用Scan的数值量判断当前索引对于执行的任务而言是否建立于合理字段。

在观察Holodesk页面时,要注意数据的分布,尽量保证各个Block有合适的数据量,划分均匀,避免数据倾斜。

在观察Executors页面时,首先应注意Executor是否都已正常启动,其次Shuffle的压力是否过大,最后分析Executor ID是否有断号,是哪个Executor导致的断号。

这三个页面为使用者提供了关于Local模式任务、Holodesk数据分布、Executor对象的相关信息,这些信息虽然基础,但有时能起到十分关键的指导作用。由于这些页面中存在的异常往往能够折射失败任务的本因,希望读者能够通过本文掌握对它们的分析方法,及时发现异常,作出应对措施。

————————

往期回顾:

技术|六种常见SQL场景及其在TDH中的优化策略

技术|Inceptor任务的图形化分析(一)

技术|Kappa:比Lambda更好更灵活的实时处理架构

关于:本文由公众号大数据开放实验室原创

大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。

————————

推荐 0
本文由 星环科技 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册