flink历史服务

2019-08-07  本文已影响0人  todd5167

flink任务停止后,JobManager会将已经完成任务的统计信息进行存档,历史服务进程则在任务停止后可以对任务统计信息进行查询。比如:最后一次的checkpoint、任务运行时的相关配置。

配置相关

默认启动端口8082:

bin/historyserver.sh (start|start-foreground|stop)
历史服务存储内容

查看/tmp/flink-web-history-7586c510-103f-4443-8252-59c56d86930e历史服务存储文件夹中的内容。


历史服务根目录

历史服务存储文件中,存储了用于页面展示的模板配置。历史任务信息存储在Jobs路径下,其中包含了已经完成的Job,每次启动都会从historyserver.archive.fs.dir拉取所有的任务元数据信息。


jobs包含的任务

每个任务文件夹中包含我们需要获取的一些信息,通过restAPI获取时指标时,就是返回这些内容。


job存储的元数据信息
使用场景

任务运行时,通过RestAPI将产生的checpoint路径存储到DB,以便根据路径续跑任务。当任务结束时,可能没办法及时从正在运行的任务中拉去最后一次checkpoint信息,此时需要从历史服务获取,http://historyIP:8082/jobs/jobid/checkpoints

线上问题

线上任务停止后,根据存储在DB的checkpoint路径选择续跑,此时续跑失败。异常日志显示选择续跑的checkpoint文件不存在,查看DB和hdfs上存储的checkpoint信息,发现hdfs保存的最后一条checkpointID和DB存储的最后一条不一致。初步定位,最后一次获取checkpoint信息失败。

查看历史服务报错日志,是因为历史服务未能找到hdfs://ns1/flink/completed路径,导致获取数据失败。查看hdfs确实也没有该路径,最后定位没有配置jobmanager.archive.fs.dir参数。

上一篇 下一篇

猜你喜欢

热点阅读