2013-04-03 66 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