数据岗位面试题更新 2026-08-05

在使用 Azkaban 进行工作流调度时,我们如何配置某个任务执行失败后的最大重试次数?请说明具体的配置位置和方法。

数据技术原理Azkaban

考察说明

考查对 Azkaban 任务重试机制配置的掌握程度。

回答思路

  1. 【回答框架 1】Azkaban 中,任务的最大重试次数可以在 Job 属性文件中配置。最常见的是在 .job 文件中设置 retries 属性,该属性指定任务执行失败后重新尝试的总次数。例如,设置 retries=3 表示任务最多重试 3 次。
  2. 【回答框架 2】除了重试次数,还可以设置 retry.backoff 属性来控制每次重试之间的等待时间,单位是毫秒。如果不配置,默认重试时间间隔可能为 0 或由系统默认策略决定。
  3. 【回答框架 3】在 Azkaban 的 Web UI 中调度或执行流时,也可以在任务节点的属性设置中覆盖这些配置,但本质仍然是设置 retries 等属性。
  4. 【回答框架 4】需要区分重试次数与任务失败后的最终处理策略(如失败报告、报警等),重试仅是在任务失败后自动重新执行,直至达到最大次数。
  5. 【关键点 1】在 .job 文件中通过 retries 属性设置最大重试次数。
  6. 【关键点 2】retry.backoff 属性指定重试间隔,单位毫秒。
  7. 【关键点 3】重试次数耗尽后,任务标记为失败,触发后续失败处理。
  8. 【易错点 1】易混淆 retries 与重试次数耗尽后的告警策略。
  9. 【易错点 2】忽略 retry.backoff 可能导致重试过于频繁给集群造成压力。
  10. 【易错点 3】某些 Azkaban 版本对重试次数的配置默认值或属性名可能略有差异,应以实际版本为准。