Skip to main content

Azure Databricks Job/notebook运行卡住三板斧 之二 查看ThreadDump

分类:  Azure Databricks 标签:  #Azure #Databricks #Spark 发布于: 2023-06-15 21:29:22

我们之前已经分享了如何快速的缓解Databricks job/notebook卡住的办法,如果要详细的分析job/notebook卡住的原因,那么还是得再来一板斧:查看long-running或者是stuck taskThreaddump, 如何缓解可以参考之前的文章:

如何通过Spark UI查看long-running task/stuck jobThreadDump

要查看ThreadDump的步骤如下:

  1. 登录到Workspace, 左侧菜单选择Compute, 然后在cluster list里选择运行的cluster:



  2. 点击cluster, 进入界面,选择Spark UI:



  3. 选择长时间运行的job或者卡住的job:


    注意
    图片只是作为演示,图片里显示的是已经运行完成的Job, 实际应用中要选择还在跑的Job。这里只是为了在文章里说明。

  4. 检查目前卡在哪个Stage, 点击Stage看详细,同样图片的Stage只是作为演示,实际应用中要在列表里找到还在运行或者卡住的Stage



  5. 检查目前卡在哪个Task上,同样图片的Task只是为了演示:


    注意要记下Task IDHost的值。

  6. 选择主菜单上的Spark UI -> Executor:



  7. 检查ThreadDump: 在出现的界面里搜索线程名包含在第5步收集到的task id, 展开就是这个线程的dump了,对这个dump进行分析就可以找到长时间运行或者卡住的原因了。


以上是从页面查看Thread Dump的步骤,至于如何分析dump那是另外的事情了,如果搞不定dump分析可以将dump提交给技术支持部门。