Flink部署生产标准

时间:2018-06-12 03:31:49

标签: apache-flink flink-streaming

我们有一个由不同团队管理的Flink集群。群集在多个作业之间共享。因此,在任何特定时间,任何任务管理器都有运行不同工作的插槽。我几乎没有问题 -

  1. 这是否可以与其他工作共享集群?
  2. 如果一个作业失败,它将终止任务管理器运行另一个作业的线程 还有?
  3. 如果我们没有其他办法,必须使用共享群集, 什么是处理异常情况的最佳方式,以便另一个 当任务管理员因致命错误而自杀时,工作没有被杀死?

1 个答案:

答案 0 :(得分:0)

  1. 我建议使用Flink的作业模式,每个作业都有一个专用的Flink群集。这会让你的工作孤立,而且恶意的Flink工作将无法阻止你的其他工作。

  2. 如果作业因任务失败而失败,则不会影响在同一TaskManager上执行的其他作业。

  3. 如果TaskManager失败,则所有当前执行的任务都将失败。因此,在TaskManager上执行至少一个任务的所有作业都将失败,然后需要恢复。目前,无法在共享群集上强制执行每个作业隔离。但是,有JIRA issue尝试通过引入作业级标记来解决此问题。这些标签可用于控制属于不同作业的任务的调度。