zoukankan      html  css  js  c++  java
  • 云计算(8)--MapReduce如何处理fault

    一些常见的故障

    NM周期性的给RM发送heartbeats,如果RM发现server fails,则它会让所有与这个server有关的AM知道,让受影响的job的AM采取一些action,重新分配它的task.

    目前为止还没有能监测到RM failure的情况,我们使用hard backup,如果fail则使用secondary RM

    continer requests虽然使用heartbeats会较慢(因为它隔一段周期发送一次),但是它avoid extra messages.

    Slow servers

    the slowest machine slows the entire job down(why): 某个task阻塞会导致整个job延缓,如一个map task阻塞,则reduce task无法进行下去。 

    keep track of progress of each task:跟踪这个任务,看这个任务进行到了百分之多少。

    Speculative execution: 当监测到某个task很慢时,这时AM就在另一个server上复制它,这时有两个相同的task在不同的server上运行,其中的任何一个运行完成,则标记这个task运行完成,结束另一个没有完成的task.

    Locality:如何存储分配

    在同一个rack里面communication要比在不同的rack,要经过core switch进行communication要快些

    HDFS把每个chunk都保存3遍,其中两个保存在1个rack上面,另一个保存在不同的rack上面(two different place),以防止其中一个rack goes down,另一个还可以使用

    安排一个map task是按照如下的优先级: 存储input data的machine--> 与存储input data的machine在同一个rack--->任何其它地方

    我们通常都将reduce task 与map task安排在同一个rack里面

    Summary

  • 相关阅读:
    Jzoj4822 完美标号
    Jzoj4822 完美标号
    Jzoj4792 整除
    Jzoj4792 整除
    Educational Codeforces Round 79 A. New Year Garland
    Good Bye 2019 C. Make Good
    ?Good Bye 2019 B. Interesting Subarray
    Good Bye 2019 A. Card Game
    力扣算法题—088扰乱字符串【二叉树】
    力扣算法题—086分隔链表
  • 原文地址:https://www.cnblogs.com/yan2015/p/4878984.html
Copyright © 2011-2022 走看看