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

在flink1.17Application模式中跑批,有没有办法同步获取任务执行结果后再退出客户端?

在flink1.17Application模式中 客户端执行 flink run-application -t yarn-application 跑批,有没有办法同步获取任务执行结果后再退出客户端 ?

展开
收起
三分钟热度的鱼 2023-12-13 19:50:45 70 0
3 条回答
写回答
取消 提交回答
  • 在 Flink 的 Application 模式下,可以通过以下方法在客户端中同步获取任务执行结果后再退出:
    1.使用 Flink 的 Web 界面:

    • 运行 Flink 集群,确保集群正在运行。
    • 在客户端中运行 flink run-application -t yarn-application 命令启动你的 Flink 任务。
    • 等待任务启动并在 Flink Web 界面上显示。
    • 使用浏览器打开 Flink Web 界面(默认地址通常为 http://:8081),输入用户名和密码登录。
    • 在 Web 界面上,你可以查看正在运行的任务,包括任务的状态、指标和结果。
    • 当任务完成后,你可以在 Web 界面上查看最终结果。

    2.使用 Flink 的 REST API:

    • 运行 Flink 集群,确保集群正在运行。
    • 在客户端中运行 flink run-application -t yarn-application 命令启动你的 Flink 任务。
    • 使用一个 HTTP 客户端(例如 cURL、Postman 或其他类似的工具)向 Flink 的 REST API 发送请求以获取任务状态和结果。
    • 构建一个 HTTP GET 请求,指向 http://:8081/jobs//vertices//subtasks/0/accumulators,其中 是 Flink Master 的 IP 地址, 是任务的 ID, 是任务图的顶点 ID,通常为 0。
    • 在响应中,你可以获取到任务的状态、指标和其他相关信息。
    • 你可以定期发送请求来检查任务的进度和结果。

    3.使用 Flink 的客户端命令行界面:

    • 运行 Flink 集群,确保集群正在运行。
    • 在客户端中运行 flink run-application -t yarn-application 命令启动你的 Flink 任务。
    • 使用 Flink 的 list-jobs 命令列出当前正在运行的任务。
    • 根据需要,你可以使用 describe-job 命令查看特定任务的详细信息。
    • 当任务完成后,你可以使用 cancel 命令取消任务的执行。如果任务已经完成,该命令将不会产生任何效果。
    2023-12-15 12:11:17
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Apache Flink 1.17的Application模式中,要同步获取任务执行结果后再退出客户端,您可以使用StreamExecutionEnvironment.execute()方法。此方法会阻塞直到作业完成或者出现错误。在这个例子中,execute()方法将启动并运行整个数据流作业。一旦作业完成,它将返回一个JobExecutionResult对象,通过该对象,您可以获取作业的执行结果。

    2023-12-14 21:50:03
    赞同 展开评论 打赏
  • 可以自定义source 没有消费到数据后 就退出jvm 或者 试试flink 批处理。此回答整理自钉群“【①群】Apache Flink China社区”

    2023-12-13 20:08:48
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载