<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國際加速解決方案。 廣告
                # 同步刷新 原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.0/indices-synced-flush.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/indices-synced-flush.html) 譯文鏈接 : [同步刷新](/pages/viewpage.action?pageId=4260956) 貢獻者 : [飛師傅](/display/~zhangyifei) **Elasticsearch** 跟蹤每個分片的索引活動。在5分鐘內未收到任何索引操作的分片將會自動標記為非活動狀態。這為**Elasticsearch**減少分片資源提供了機會,并且還會執行成為`synced`?`flush`的特殊類型刷新。一次同步刷新會執行一次正常刷新,然后將生成的唯一標記(sync_id)添加到所有分片。 因為在沒有正在進行的索引操作時添加了sync_id標記,所以它可以用作檢查兩個分片的Lucene索引是否相同的快速方式。這個快速同步ID比較(如果存在)在恢復或重啟階段使用,以跳過最昂貴的階段。在這種情況下,不需要復制分段文件,并且可以立即開始事務日志的恢復重放階段。請注意,由于同步id與刷新一起應用,因此事務日志很可能為空,從而加快恢復速度。 這對于具有許多從未更新或非常少更新的索引(例如基于時間生成的數據)的用例來說非常有用。此用例通常生成大量的索引,它在沒用同步刷新標記時將花費很長的時間。 要檢查分片是否有標記,需要查找由統計信息 API返回的分片統計中的`commit`部分: ``` GET twitter/_stats/commit?level=shards ``` 返回的東西類似于: ``` { ... "indices": { "twitter": { "primaries": {}, "total": {}, "shards": { "0": [ { "routing": { ... }, "commit": { "id": "te7zF7C4UsirqvL6jp/vUg==", "generation": 2, "user_data": { "sync_id": "AU2VU0meX-VX2aNbEUsD" ,① ... }, "num_docs": 0 } } ... ], ... } } } } ``` ① sync_id標記 ###### 同步刷新API 同步刷新API運行管理員手動啟動同步刷新。這對于計劃(滾動)集群重啟尤其有用,你可以停止索引,不去等待自動同步刷新空閑索引的默認5分鐘。 雖然方便,但是對于這個API有一些注意事項: 1.同步刷新是盡力而為的操作。任何正在進行的索引操作將導致同步刷新在該分片上面失敗。這意味著一些分片可能被同步刷新,而其他的分片不被刷新。更多請參見下文。 2.一旦分片再次刷新,`sync_id`標記將被刪除。這是因為刷新替換了儲存標記的低級的Lucene提交點。事務日志中尚未提交的操作不會除去標記。在實踐中,應該考慮索引上的任何索引操作,因為Elasticsearch在任何時候都可能觸發刪除標記的刷新操作。 當正在進行索引時,請求同步刷新是無害的。處于空閑狀態的分片會成功并且分片也不會失敗。任何已經成功的分片將有更快的恢復時間。 響應信息包含有關已經成功同步刷新了多少碎片的詳細信息以及任何跟故障相關的信息。 下面是當兩個分片和一個副本索引成功同步刷新的樣子: ``` { "_shards": { "total": 2, "successful": 2, "failed": 0 }, "twitter": { "total": 2, "successful": 2, "failed": 0 } } ``` 以下是當一個分片組由于PENDING操作而失敗時的情況: ``` { "_shards": { "total": 4, "successful": 2, "failed": 2 }, "twitter": { "total": 4, "successful": 2, "failed": 2, "failures": [ { "shard": 1, "reason": "[2] ongoing operations on primary" } ] } } ``` 當同步刷新由于并行索引操作失敗時,將會出現上述錯誤。在這種情況下,HTTP狀態代碼為`409 CONFLICT`。 有時,故障由于特定的分片副本導致。失敗的副本將不能進行快速恢復,成功的副本可以。這種情況下的報告如下: ``` { "_shards": { "total": 4, "successful": 1, "failed": 1 }, "twitter": { "total": 4, "successful": 3, "failed": 1, "failures": [ { "shard": 1, "reason": "unexpected error", "routing": { "state": "STARTED", "primary": false, "node": "SZNr2J_ORxKTLUCydGX4zA", "relocating_node": null, "shard": 1, "index": "twitter" } } ] } } ``` 當分片副本同步刷新失敗時,返回的HTTP狀態碼為`409 CONFLICT` 同步刷新API可以通過單個調用應用于多個索引,甚至可以應用于`_all`索引。 ``` POST kimchy,elasticsearch/_flush/synced POST _flush/synced ```
                  <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>

                              哎呀哎呀视频在线观看