我使用 EMR 创建新实例并处理作业,然后关闭实例。
我的要求是定期安排工作。一种简单的实施方式是使用石英来触发 EMR 作业。但从长远来看,我对使用开箱即用的 MapReduce 调度解决方案感兴趣。我的问题是,EMR 或 AWS-SDK 是否提供任何开箱即用的调度功能,我可以使用它来满足我的要求?我可以看到自动缩放中有调度,但我想改为调度 EMR 作业流程。
有适用于 Hadoop 的 Apache Oozie 工作流调度程序 http://oozie.apache.org/就是这样做。
Oozie 是一个用于管理 Apache Hadoop 作业的工作流调度系统。
Oozie 工作流作业是操作的有向非循环图 (DAG)。
Oozie Coordinator 作业是由时间(频率)和数据可用性触发的周期性 Oozie Workflow 作业。
Oozie 与 Hadoop 堆栈的其余部分集成,支持
几种开箱即用的 Hadoop 作业类型(例如 Java map-reduce、
流式传输 map-reduce、Pig、Hive、Sqoop 和 Distcp)以及系统
特定作业(例如 Java 程序和 shell 脚本)。
Oozie 是一个可扩展、可靠且可扩展的系统。
以下是用于配置 apache oozie 的 Elastic Map Reduce 引导操作的简单示例:https://github.com/lila/emr-oozie-sample https://github.com/lila/emr-oozie-sample
但要让你知道 oozie 有点复杂,当且仅当你有很多工作需要安排/监控/维护,那么只有你才应该去做oozie
或者只是创建一堆cron
工作,如果您说只有 2 或 3 个工作需要定期安排。
您还可以查看和探索亚马逊的简单工作流程 http://aws.amazon.com/swf/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)