在flink1.17Application模式中跑批,有没有办法同步获取任务执行结果后再退出客户端?-[阿里云_云淘科技]

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

以下为热心网友提供的参考意见

在 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 命令取消任务的执行。如果任务已经完成,该命令将不会产生任何效果。

以下为热心网友提供的参考意见

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

以下为热心网友提供的参考意见

可以自定义source 没有消费到数据后 就退出jvm 或者 试试flink 批处理。此回答整理自钉群“【①群】Apache Flink China社区”

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/12338.html

(0)
匿名
上一篇 2023年12月13日
下一篇 2023年12月13日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。