内容纲要
概要描述
经常有客户遇到,执行transporter加载任务时,运行时间过长/卡死 的问题,需要到对应的quark executor上收集jstack日志。通过后台服务器执行linux命令的方式较为繁琐,DBAService提供了采集Thread Dump的功能,可以更便捷的收集到jstack信息。
详细说明
首先,我们运行一个从quark导出到oracle19c的加载任务,
打开DBAService页面,获取到这个sql的 查询ID 为 5816,这里记录下
点击 查询ID 进入到stage页面,可以看到运行中的 task 所在执行器,图中运行在了 执行器ID为 0和1 的两个executor上,
进入 执行器 页面,找到 执行器ID为 0和1 的两个executor,点击 线程,
可选择修改 时间间隔 和 采集次数 ,点击 开始 按钮,等待采集完毕,
搜索框,输入关键字 Executor task 可以查询到sql运行相关callstack。
也可以直接搜索关键字 sql 5816 直接定位到位置。
另外,提供了下载 按钮,将可获取到jstack结果下载到本地 。
以此类推,继续采集其他executor执行器的jstack。
FAQ: jmap 堆信息收集方式:
点击 获取堆直方图,会将histo文件生成到对应的quark executor节点的 /var/log/quark*/目录下。