<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 簡介 1. 作業完成時間取決于最慢的任務完成時間 一個作業由若干個Map任務和Reduce任務構成.因硬件老化,軟件Bug等,某些任務可能運行非常慢 典型案列: 系統中有99%的map任務都完成了,只有少數幾個Map老是進度很慢,完不成怎么辦? 2. 推測執行機制 發現拖后腿的任務,比如某個任務運行速度遠慢于任務平局速度.為拖后腿任務啟動一個備份任務,同時運行.誰先運行完,則采用誰的結果 3. 執行推測任務的前提條件 1. 每個task只能有一個備份任務 2. 當前job已完成的task必須不小于0.05(5%) 3. 開啟推測執行參數設置.hadoop2.7.2 mapred-site.xml文件中默認是打開的 ~~~ <property> <name>mapreduce.map.speculative</name> <value>true</value> <description>If true, then multiple instances of some map tasks may be executed in parallel</description> </property> <property> <name>mapreduce.reduce.speculative</name> <value>true</value> <description>If true, then multiple instances of some reduce tasks may be executed in parallel</description> </property> ~~~ # 不能使用情況 1. 任務存在嚴重的負載傾斜,有個reduce是承擔了絕大多數計算的場景 2. 特殊任務,比如任務向數據庫中寫數據,會有備份任務出來的話,寫數據就會出現雙倍了 # 算法原理 假設某一時刻,任務T的執行進度為progress,則可通過一定的算法推測出該任務的最終完成時刻.另一方面,如果此刻為該任務啟動一個備份任務,則可推斷出它可能的完成時刻,于是可以得出以下幾個公式 ~~~ estimateEndTime = estimatedRunTime + taskStartTime 推測執行完時刻60 = 推測運行時間(60s) + 任務啟動時刻(0) estimateRunTime = (currentTimestamp - taskStartTime) / progress 推測運行時間(60s) = (當前時刻(6) - 任務啟動時刻(0)) / 任務運行比例(10%) estimateEndTime丶 = currentTimestamp + averageRunTime 備份任務推測完成時刻(16) = 當前時刻(6) + 運行完成任務的平均時間(10s) ~~~ 1. MR總是選擇(estimateEndTime - estimateEndTime丶) 差值最大的任務,并為之啟動備份任務 2. 為了防止大量任務同時啟動備份任務造成的資源浪費,MR為每個作業設置了同時啟動的備份任務數目上限 3. 推測執行機制實際上采用了經典的優化算法,以空間換時間,它同時啟動多個相同任務處理相同的數據,并讓這些任務競爭以縮短數據處理時間.顯然,這種方法需要占用更多的計算資源.在集群資源緊缺的情況下,應該合理使用該機制
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看