2013-04-03 65 views
4

我想知道EMR(Elastic MapReduce)的后置处理是否有一个例子?我试图实现的是在亚马逊的Hadoop完成工作后立即发送电子邮件给一群人。Elastic MapReduce的后挂钩

回答

5

您需要配置作业结束通知URL。

jobEnd.notificationUrl

AWS会打这个网址,推测可能与查询变量指示哪些作业已完成(作业ID)。

假设您已经存储了电子邮件和工作ID之间的关系,那么您可以在服务器上处理此URL来处理您的电子邮件通知。

https://issues.apache.org/jira/browse/HADOOP-1111

3

更简单的方法是使用Amazon CloudWatch(监控系统)和Amazon Simple Notification Service (SNS)监控并通知您和其他人在你的EMR作业的状态。

例如,您可以为群集设置一个警报,以检查它何时IsIdle。一旦作业完成(或失败),它将被设置为1,然后您可以将SNS通知作为电子邮件(甚至SMS)发送。您可以在JobsFailed和其他指标的计数上设置类似的警报。

对于EMR相关的指标的完整列表,你可以看到EMR documentations

你可以在这里看到关于它的更多信息:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_ViewingMetrics.html

+0

不知道我理解你的评论。您可以定义谁将获得(电子邮件/短信)通知。他们应该接受一次从SNS主题接收电子邮件。 您可以通过任何方式让某些用户或角色能够使用Amazon IAM仅与SNS一起工作。 – Guy

+0

SNS允许您发送电子邮件到任何电子邮件地址 – Guy

+0

您的解决方案很好。但是,企业客户通常会在第三方服务器上拥有自己的电子邮件模板和本地化标准和/或有关邮件的策略,使得工作通知URL成为自定义暗示的良好选择。 – FlavorScape