首页 / 新闻

12.

23

2016

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

技术博客

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个连续整数以及。(代表负责语句编译与任务分配的Master节点)。由于每次Executor重启后都会被分配一个新的Executor ID,原来的号码会从列表上消失,所以如果ExecutorID除之外的值出现断号,就说明位于断点的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对象的相关信息,这些信息虽然基础,但有时能起到十分关键的指导作用。由于这些页面中存在的异常往往能够折射失败任务的本因,希望读者能够通过本文掌握对它们的分析方法,及时发现异常,作出应对措施。

 

对此篇文章如有任何问题,欢迎以邮件形式联系我们:bigdataopenlab@transwarp.io