Hadoop副本处理
Hadoop replica processing
Hadoop 是否也处理副本?例如工作节点 i
,在 mapper
阶段,只处理存储在该机器上的数据。数据(不是副本,而是原始数据)在 mapper
阶段完成处理或可能未完成后,是否存在机器 i
处理存储在该机器上的副本数据的情况?或者只有当某个节点关闭时才使用副本?
主节点(jobtracker)可能会也可能不会选择原始数据,事实上它不维护关于原始数据的 3 个副本中的任何信息。因为当它保存数据时,它会对文件进行校验和验证并干净地保存它。现在,当 jobtracker 想要为 mapper 选择一个插槽时,需要考虑很多事情,比如空闲地图插槽的数量、tasktracker 的开销和其他事情。最后但并非最不重要的数据局部性,因此只会选择满足几乎所有条件的最近节点,它不会打扰它是原始节点还是副本,并且如前所述,即使它不保持该身份。
是的,处理副本也会发生在称为推测执行的特定场景中。
如果 machine i
花费太多时间来处理存储在该机器中的数据块,那么作业的应用程序主机将针对存储在不同机器中的数据块的另一个副本启动重复的并行映射器.这个新的推测映射器将 运行 在存储副本的 machine j
中。
哪个映射器先完成执行,它的输出将是considered.The其他慢运行ning映射器,它的资源将被删除。
默认情况下,推测执行已启用。您可以通过修改以下属性来切换它。
mapreduce.map.speculative
mapreduce.reduce.speculative
在任何情况下,不会有超过一个数据块的副本存储在同一台机器上。数据块的每个副本将保存在不同的机器上。
Hadoop 是否也处理副本?例如工作节点 i
,在 mapper
阶段,只处理存储在该机器上的数据。数据(不是副本,而是原始数据)在 mapper
阶段完成处理或可能未完成后,是否存在机器 i
处理存储在该机器上的副本数据的情况?或者只有当某个节点关闭时才使用副本?
主节点(jobtracker)可能会也可能不会选择原始数据,事实上它不维护关于原始数据的 3 个副本中的任何信息。因为当它保存数据时,它会对文件进行校验和验证并干净地保存它。现在,当 jobtracker 想要为 mapper 选择一个插槽时,需要考虑很多事情,比如空闲地图插槽的数量、tasktracker 的开销和其他事情。最后但并非最不重要的数据局部性,因此只会选择满足几乎所有条件的最近节点,它不会打扰它是原始节点还是副本,并且如前所述,即使它不保持该身份。
是的,处理副本也会发生在称为推测执行的特定场景中。
如果 machine i
花费太多时间来处理存储在该机器中的数据块,那么作业的应用程序主机将针对存储在不同机器中的数据块的另一个副本启动重复的并行映射器.这个新的推测映射器将 运行 在存储副本的 machine j
中。
哪个映射器先完成执行,它的输出将是considered.The其他慢运行ning映射器,它的资源将被删除。
默认情况下,推测执行已启用。您可以通过修改以下属性来切换它。
mapreduce.map.speculative
mapreduce.reduce.speculative
在任何情况下,不会有超过一个数据块的副本存储在同一台机器上。数据块的每个副本将保存在不同的机器上。