<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 節點丟失時的延遲分配 原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/delayed-allocation.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/delayed-allocation.html) 譯文鏈接 : [節點丟失時的延遲分配](/pages/viewpage.action?pageId=9406205) 貢獻者 : @蘇濤,[ApacheCN](/display/~apachecn),[Apache中文網](/display/~apachechina) ### 節點丟失時的延遲分配 當某個節點由于任何原因有意識或者無意識的離開集群時,主節點將通過以下方式進行響應: ??提升副本分片為主分片來替換節點中的任何主分片 ??分配副本分片以替換丟失的副本(假設有足夠的節點)。 ??分片再平衡,均勻地分配到其余節點。 這些行為的目的是通過確保每個分片盡可能快地完全復制來保護集群防止數據丟失。 即使我們在節點級別和集群級別都調節并發恢復,這種“shard-shuffle”仍然可以在集群上施加大量額外的負載,如果丟失的節點可以很快重新加入集群,這可能不是必需的。想象這種情況: ??節點5丟失網絡連接。 ??主節點提升節點5中的所有主分片的副本分片成為主分片。 ??主節點分配新的副本到集群中的其他節點。 ??每個新副本通過網絡獲取主分片的整體復制。 ??更多的分片被移動到不同的節點使集群再平衡。 ??幾分鐘后節點5重新回到集群中。 ??主節點通過分配分片到節點5使集群再平衡。 如果主節點等待幾分鐘,那么丟失的分片可能消耗比較少的網絡流量來重新分配給節點5。對于已自動同步刷新的空閑分片(分片未接收索引請求),此過程將更加快速。 由于節點已經離開而成為未分配的副本分片的分配可以使用**index.unassigned.node_left.delayed_timeout**動態設置進行延遲,默認為1m。 可以在活動索引(或所有索引)上更新此設置: ``` PUT _all/_settings { "settings": { "index.unassigned.node_left.delayed_timeout": "5m" } } ``` 啟用延遲分配后,上述情況會變成這樣: ??節點5丟失網絡連接。 ??主節點提升節點5中的所有主分片的副本分片成為主分片。 ??主節點紀錄未分配的分片已被延時以及延時時間。 ??由于存在未分配的副本分片,集群狀態仍為黃色。 ??節點5在延時超時之前加入集群。 ??丟失的副本被重新分配給節點5(并且同步刷新的分片幾乎立即恢復)。 注意 此設置不會影響主分片的副本分片的提升,也不會影響之前未分配的副本分片的分配。 值得一提的是,在整個集群重新啟動后,延遲分配不會生效。 另外,如果主節點發生故障切換,過去設置的延遲時間將會清零(即復位到完整的初始延遲)。 ### 取消分片移動 如果延時分配超時,主節點會開始恢復缺失分片到另一個節點。如果缺失節點重新加入集群中,并且它的主分片仍熱有相同的同步ID,分片移動會被取消并且同步分片會用于恢復。 由于這個原因,默認的 timeout 設置為一分鐘:即使分片開始移動,取消恢復同步分片的花銷也是小的。 ### 監控延時分配的分片 分配被延時的分片數量可以通過[集群健康接口](http://www.apache.wiki/pages/viewpage.action?pageId=4883262)[](http://www.sina.wiki/display/Elasticsearch/Cluster+Health)查看: ``` GET _cluster/health #1 ``` | 1 | 此請求將返回一個delayed_unassigned_shards值 | ### 永久移除節點 如果一個節點不會返回集群并且希望Elasticsearch立即分配丟失的分片,只需要設置超時為零: ``` PUT _all/_settings { "settings": { "index.unassigned.node_left.delayed_timeout": "0" } } ``` 一旦丟失的分片開始恢復,就可以重置超時。
                  <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>

                              哎呀哎呀视频在线观看