Flink学习小记-执行计划可视化实操
flink会根据客户端提交程序的一些参数,以及集群中机器(TaskManager)的数量去自动优化选取一个它认为合适的执行策略(使数据在DAG中流动计算);通常情况下,了解flink为job选取的执行计划对我们理解flink是如何执行客户端任务是非常有帮助的。
执行计划可视化方式
flink提供了最少两种执行计划的可视化的方式,方便我们了解自己编码客户端的执行计划,从而针对性的进行调试。
Plan Visualization Tool
- 通过flink的getExecutionPlan()API输出一段描述执行计划的JSON数据
- 将输出的信息贴到flink提供的在线可视化工具(地址https://flink.apache.org/visualizer/)
- Draw效果如下
例子比较简单,仅仅是在map和sum的时候手动setParallelism = 2 (设置并行度为2)。
Apache Flink Dashboard
flink提供了一个web界面去提交,配置和执行任务,该web界面在JobManager’s运行时能提供一定的监控功能;该功能默认是关闭的,需要手动改配置,重启flink集群,端口默认8081。
- 配置项:web.submit.enable: true
- 启动集群
- dashboard
- 客户端应用打包
- 上传至Flink web端
- Show plan
在submit new job不仅可以配置任务参数提交任务执行,还可以以视图的方式展示执行计划~
nice day~
[1]: https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/execution_plans.html