开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

不通过web界面的方式,flink on yarn怎么查看每个并行度处理数据的情况?

不通过web界面的方式,flink on yarn怎么查看每个并行度处理数据的情况,比如有几个并行度正在被使用,每个并行度处理多少数据等等?

展开
收起
真的很搞笑 2024-06-15 20:01:28 48 0
2 条回答
写回答
取消 提交回答
  • 技术浪潮涌向前,学习脚步永绵绵。

    Flink 在 YARN 集群上运行时,虽然没有直接的 Web UI 可供查看每个并行度的详细处理数据情况,但你可以通过 Flink 的命令行工具和日志来间接获取这些信息。

    1. 使用 Flink CLI 工具

    首先,你需要连接到 YARN 集群中任意一个节点(确保该节点上有 Flink 客户端或者可以访问到 Flink 安装目录),然后使用 Flink 的命令行客户端(./bin/flink)来检查作业的状态。

    查看作业信息

    你可以使用以下命令列出所有正在运行的作业:

    ./bin/flink list
    

    找到你感兴趣的作业ID后,可以使用以下命令获取更详细的作业信息:

    ./bin/flink jobinfo <job_id>
    

    这会展示作业的基本信息,包括并行度设置等。然而,要查看每个算子的并行度及处理的数据量,需要进一步的步骤。

    查看 TaskManager 日志

    Flink 的 TaskManagers 会记录每个任务(task)的执行情况,包括处理的数据量。你可以登录到运行 TaskManagers 的节点,查看对应应用的日志文件。日志路径通常可以在 Flink 配置文件(flink-conf.yaml)中的 web.log.path 找到基础路径,实际日志文件会包含作业ID和时间戳等信息。

    在日志中,寻找与特定任务相关的输出,通常会包含每个子任务(即并行度的实例)处理的数据量统计信息。但请注意,这种方式需要手动查找和解析日志,不够直观且可能较为繁琐。

    2. 使用 Metrics

    Flink 支持多种metrics报告方式,包括JMX、Graphite、Prometheus等。如果你已经配置了其中任何一种metrics报告方式,可以通过对应的监控工具查看更详细的作业运行时指标,包括每个算子的输入/输出速率、延迟等。

    例如,如果你配置了Prometheus作为metrics报告端点,可以通过Prometheus查询语言(PromQL)来查询特定作业或任务的并行度及处理的数据量。例如,查询某个作业ID为job_123的任务的并行度,可能会用到类似于flink_taskmanager_job_task_num_subtasks{job_id="job_123", task_name="YourTaskName"}这样的表达式来获取并行子任务数。

    总结

    虽然直接查看每个并行度处理数据的详细情况不如Web UI直观,但通过Flink的命令行工具和日志分析,以及利用Metrics系统,仍然可以获取到所需的信息。对于长期运维和监控来说,配置一套完善的metrics收集和展示系统(如Prometheus+Grafana)是更推荐的做法。

    2024-06-16 10:31:32
    赞同 2 展开评论 打赏
  • 可以通过metrics监控,配置metrics报告器(如JMX, Graphite等)导出这些数据,然后使用监控工具(如Grafana)展示

    2024-06-15 22:45:05
    赞同 9 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Web应用系统性能优化 立即下载
    高性能Web架构之缓存体系 立即下载
    PWA:移动Web的现在与未来 立即下载