当Quark/Inceptor上跑批变慢、不健康,如何借助AquilaInsight进行排查?

友情链接:

排查步骤

步骤1

首先需要先确定哪些Quark变慢?什么时候开始变慢?时间范围尽量缩小。

  • 此处需要重点关注两个时间段:变慢/异常的时间段 正常的时间段;

步骤2

进入Aquila,查看以下几个点:

  • 告警记录页面:查看两个时间段时间内活跃/已解除 的告警记录,有没有可能相关的异常指标;
  • 仪表盘页面:
  1. 查看两个时间段集群整体的内存/CPU(尤其关注iowait/system)利用率等指标;
  2. 查看两个时间段 关键仪表盘的数据有没有异常:参考Aquila的核心功能和原理中常用仪表盘模块
  3. 查看两个时间段所有Quark的每日异常Query统计,参考:Aquila的核心功能和基本原理中的常用仪表盘模块

image.png

4. 查看两个时间段 所有Quark的每日异常Query统计,参考:Aquila 的核心功能和基本原理中所有Quark的每日异常Query统计

步骤3

进入DBAService,查看以下几个点:

  • Query-Statistics页面:
    • 查看两个时间段 以上Quark的历史业务统计数据的变化趋势。参考下图中DBAService的Query-Statistics页面解读,对每种统计指标都看一下,尤其是:shuffle读/写,任务成功数,查询耗时,GC耗时,任务耗时等维度;

image.png

    • 查看两个时间段 Query耗时TOPN的的最大耗时有没有变化,有没有明显异常Query
  • Cluster-Status页面
    • 查看两个时间段 Quark Server的堆使用情况,gc耗时等有没有明显异常,一般GC超过

步骤4

查看manager节点/var/log/aquila/transwarp-ops目录;

  • restart.record, jstat.record, jvm-stats, logs这些文件或目录;

步骤5

查看Quark Server日志有没有Exception或者Error之类的报错信息;

步骤6

通过以上步骤,如果依然没发现有异常的数据,则需要确认更多细节,比如集群是否变更,业务是否有变更等等,进一步缩小时间范围,最好能将 异常/变慢的时间范围缩小到几个小时或者几十分钟内;

步骤7

如果时间范围有缩小,则在DBAService的Query-Queries页面,打开 历史 功能,设置执行时间范围,查询在这个时间范围内出现过的所有Query。

  • 可以根据 持续时长,task数量,shuffle读/写等指标进行排序,有没有明显耗时久,或者task数多,或者shuffle量大,或者有失败task之类的查询。
  • 对比 正常时间段 和 异常时间段 的不同之处,结合客户的业务分析是否符合预期。
  • 如果有异常的Query,可以查看Query详情页面,分析Query的执行计划,job/stage/task执行特征,耗时分布,过滤条件下推情况,库表信息等等。参考:如何通过Aquila Insight快速定位一个查询为什么慢?
  • 如果无法得出结论,整理好收集的信息,点击右侧寻求技术支持人员的帮助

image.png



评论
登录后可评论
发布者
星小环分享号
文章
180
问答
205
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入