3

我使用 EMR 创建新实例并处理作业,然后关闭实例。

我的要求是定期安排工作。一种简单的实现方式是使用石英来触发 EMR 作业。但从长远来看,我有兴趣使用开箱即用的 mapreduce 调度解决方案。我的问题是 EMR 或 AWS-SDK 是否提供任何开箱即用的调度功能,我可以使用它来满足我的要求吗?我可以看到 Auto Scaling 中有调度,但我想改为调度 EMR 作业流。

4

1 回答 1

1

Apache Oozie Workflow Scheduler for Hadoop可以做到这一点。

Oozie 是一个用于管理 Apache Hadoop 作业的工作流调度系统。

Oozie 工作流作业是动作的有向无环图 (DAG)。

Oozie 协调器作业是由时间(频率)和数据可用性触发的周期性 Oozie 工作流作业。

Oozie 与 Hadoop 堆栈的其余部分集成,支持开箱即用的多种 Hadoop 作业(例如 Java map-reduce、Streaming map-reduce、Pig、Hive、Sqoop 和 Distcp)以及系统特定作业(例如Java 程序和 shell 脚本)。

Oozie 是一个可扩展、可靠和可扩展的系统。

这是用于配置 apache oozie 的 Elastic Map Reduce 引导操作的简单示例:https ://github.com/lila/emr-oozie-sample

但是要让您知道 oozie 有点复杂,当且仅当您有很多工作要安排/监控/维护时,那么只有您应该去做,否则如果您说只有 2 或 3 个工作,则oozie只需创建一堆工作cron定期安排的工作。

您还可以查看和探索来自 Amazon 的简单工作流程

于 2012-12-23T20:32:29.297 回答