Flink On Yarn如何查看任務(wù)日志

無論Flink還是Spark都支持自建集群(standalone cluster)。但是為了保證穩(wěn)定性和資源隔離等,生產(chǎn)環(huán)境里的任務(wù)最好借助資源管理框架(如Yarn)運行。任務(wù)運行在yarn上,查詢?nèi)罩揪涂赡懿皇呛芊奖?,尤其是任?wù)進程異常退出之后。

JobHistoryServer

yarn容器退出之后,默認是不保存日志的。所以需要開啟JobHistoryServer,具體方法網(wǎng)上有很多教程。

查看運行中Flink任務(wù)的Log

運行中的Flink任務(wù)可以直接通過flink web ui查看:


Job Manager Log

Task Manager Log

查看已退出Flink任務(wù)的Log

對于已經(jīng)結(jié)束的yarn應(yīng)用,flink進程已經(jīng)退出無法提供webui服務(wù)。所以需要通過JobHistoryServer查看保留在yarn上的日志。

1.進入目標應(yīng)用后,可以通過logs查看日志
Application
2.點擊logs進入,可以看到j(luò)ob manager的日志
job manager full log
3.task manager日志在哪里?

好像沒有task manager的日志啊,怎么辦?我們可以先研究一下job manager的日志url:http://node5:19888/jobhistory/logs//node2:8041/container_1634207619484_0505_01_000001/container_1634207619484_0505_01_000001/root,可以發(fā)現(xiàn)一些規(guī)律:

  • http://node5:19888/jobhistory/logs/:第一部分是jobhistoryserver的地址
  • /node2:8041:第二部分是job manager的當時運行的宿主yarn node
  • /container_1634207619484_0505_01_000001/container_1634207619484_0505_01_000001:第三部分是yarn容器id
  • /root:第四部分是提交任務(wù)的用戶名
url component

所以我們只需要知道taskmanager的容器名node就能找到它的日志了。flink在jobmanager的日志中記錄了詳細的相關(guān)信息,包括所有的taskmanager的容器名node。日志太多可能不好找,這里有一個小技巧:利用appid去搜索日志,比如本文中的例子,可以搜索1634207619484_0505

task manager container

Registering TaskManager with ResourceID container_1634207619484_0505_01_000002 (akka.tcp://flink@node1:37798/user/taskmanager_0)

分析這行日志:taskmanager只有一個,并且它的容器名為container_1634207619484_0505_01_000002,node為node1(注意:后面拼接url用的端口號是8041不是37798)
最終我們得的taskmanager日志的url是:http://node5:19888/jobhistory/logs/node1:8041/container_1634207619484_0505_01_000002/container_1634207619484_0505_01_000002/root

task manager log

總結(jié)

運行中的flink/spark的日志查看非常容易,因為它們本身都提供了web ui服務(wù)。但是當任務(wù)異常退出之后,flink/spark進程的結(jié)束導(dǎo)致無法提供web ui服務(wù)。我們利用job history server來保留和展示當時的日志。但是yarn的web只展示了flink job manager/spark driver的日志鏈接,我們需要自己拼接flink task manager/spark executor日志鏈接。

最后我有一個小疑問:文中介紹的URL組成是推測出來的,其中第三部分/container_1634207619484_0505_01_000001/container_1634207619484_0505_01_000001是兩個同樣的容器名,這是為什么?希望知道的小伙伴能留言解惑一下。

相關(guān)鏈接:
Flink On Yarn如何查看任務(wù)日志
Spark On Yarn如何查看任務(wù)日志

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容