更新时间:2022-09-30 GMT+08:00

访问Spark应用获取的restful接口信息有误

问题

当Spark应用结束后,访问该应用的restful接口获取job信息,发现job信息中“numActiveTasks”的值是负数,如图1所示。

图1 job信息

numActiveTasks是指当前正在运行task的个数。

回答

通过下面两种途径获取上面的job信息:
  • 配置spark.history.briefInfo.gather=true,查看JobHistory的brief信息。
  • 使用Spark JobHistory2x页面访问:https://IP:port/api/v1/<appid>/jobs/。

job信息中“numActiveTasks”的值是根据eventlog文件中SparkListenerTaskStart和SparkListenerTaskEnd事件的个数的差值计算得到的。如果eventLog文件中有事件丢失,就可能出现上面的现象。