请教一下,flink on yarn模式下,怎么对job作业进行指标监控?
在Flink on Yarn模式下,对job作业进行指标监控的方式有很多。首先,可以使用Flink Metrics来对各项性能指标如全链路吞吐、全链路时延、吞吐时延等进行监控和调优。Flink支持多种汇报监控指标(metrics)的reporter,包括JMX、SLF4J、InfluxDB、Prometheus等。
特别是,如果使用Prometheus+Grafana进行监控,可以实时查看作业运行状态,这对于保证实时作业7 x 24小时运行至关重要。此外,在Per-Job模式中,每个Flink job任务都会启动一个对应的Flink集群,基于Yarn提交后会在Yarn中同时运行多个实时Flink任务。
另外,对于Yarn的任务,其有优先级,可以根据优先级运行作业。基于Yarn调度系统,能够自动化地处理各个角色的Failover (容错)。JobManager进程和TaskManager进程都由Yarn NodeManager监控。如果JobManager进程异常退出,则Yarn ResourceManager会重新调度JobManager到其他机器。如果TaskManager进程异常退出,JobManager会收到消息并重新向Yarn ResourceManager申请资源,重新启动TaskManager。通过这种方式也可以更好地监控和优化job作业的性能。
在Flink on Yarn模式下,对job作业进行指标监控可以通过JMX(Java Management Extensions)来实现。首先,需要确保你的Flink应用程序在启动时开启了JMX端口。然后,你可以使用JMX客户端工具(如jconsole或jvisualvm)连接到运行中的Flink应用程序,以获取关于作业延迟、吞吐量等性能指标的详细信息。
Flink on Yarn有两种运行模式:Session-Cluster和Per-Job-Cluster模式。在这两种模式下,你都可以通过上述方法进行指标监控。具体的操作步骤如下:
需要注意的是,如果你的作业日志量非常大,可能需要采取一些特殊措施来查看和定位问题,因为在这种模式下,程序运行的日志会分散存储在不同的DN上。此外,为了确保Flink应用程序在Yarn集群上正常运行,你可能还需要检查和调整一些Yarn的配置参数,例如虚拟内存检查设置。
这些指标flink 不是自带 吐出来了吗,你配置吐出到promthus pushgateway 就好了 ,此回答整理自钉群“【①群】Apache Flink China社区”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。