当Map程序在emr流式处理作业中死亡时会发生什么?

pdtvr36n  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(240)

在弹性mapreduce流式作业中,如果Map程序突然死亡,会发生什么情况?将重放已处理的数据?如果是的话,有什么办法可以禁用它吗?
我这样问是因为我正在使用电子病历插入一些数据到第三方数据库。每个Map器都通过http发送传入的数据。在这种情况下,如果一个Map器崩溃,我不想重放http请求,我需要继续我离开的地方。

yshpjwxd

yshpjwxd1#

mr是一个容错框架。当map任务失败时(流式api或javaapi),行为是相同的。
一旦作业跟踪器收到任务失败的通知,它将尝试重新安排任务。由失败的任务生成的临时输出将被删除。
关于如何在mr中处理故障的更详细的讨论可以在这里看到
对于您的特定情况,我认为您需要在setup()方法中引用外部源以找出已处理的记录,然后在mapper()方法中使用此信息来决定是否应处理特定记录。

相关问题