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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Translog(事務日志) 原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/index-modules-translog.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/index-modules-translog.html) 譯文鏈接 : [Translog(事務日志)](/pages/viewpage.action?pageId=10028549) 貢獻者 : @蘇濤,[ApacheCN](/display/~apachecn),[Apache中文網](/display/~apachechina) ### 事務日志 Lucene的修改只有在提交的時候保存在磁盤上,這是個相對沉重的操作,因此不能在每次索引或刪除操作之后執行。一次提交之后另一次提交之前如果發生了進程退出或硬件故障的事件,這之間的修改會丟失。 為了防止數據丟失,每個分片都有**_transaction log_**?(事務日志)或與之相關的日志。任何索引或刪除操作在Lucene索引內部執行之后會被寫入事務日志。 如果發生了崩潰事件,當分片恢復的時候,最近的事務可以根據事務日志進行恢復。 Elasticsearch flush(刷新)操作是執行Lucene提交并開始新的事務日志的過程。會自動進行后臺執行來確保事務日志不會變得太大,這會使重做操作在恢復時花費大量的時間。可以通過接口調用,雖然很少需要手動執行。 ### 刷新設置 以下[動態可更新設置](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/indices-update-settings.html)可控制內存緩沖區刷新到磁盤的頻率: _**`index.translog.flush_threshold_size`**_ ? ? 一旦事務日志達到了這個大小,刷新操作就會執行。默認值為_**512mb**_ ### 事務日志設置 事務日志的數據僅在事務同步和提交之后保存在磁盤上。如果發生了硬件錯誤,前一次事務日志提交之后的任何數據寫入都會丟失。 默認情況下,如果_**index.translog.durability**_設置為異步,或者在每個[索引](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/docs-index_.html),[刪除](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/docs-delete.html),[更新](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/docs-update.html)或[批量請求](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/docs-bulk.html)的末尾設置為`request`?(默認),則Elasticsearch每5秒提交一次translog。事實上,Elasticsearch只會在事務日志被成功地同步和提交給主分片和任何分配的副本分片之后,才能向客戶端報告成功執行索引,刪除,更新或批量請求。 每個索引可使用下面[動態更新的設置](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/indices-update-settings.html)控制事務日志的行為: _**index.translog.sync_interval**_ ? ??無論寫入操作如何,translog都被同步到磁盤和提交的頻率。默認為**5秒**。不允許小于**100ms**的值。 _**index.translog.durability**_ ? ??在每次索引,刪除,更新或批量請求之后是否同步并提交translog。此設置接受以下參數: ? ??**request** ? ? ? ? (默認)每次請求之后執行同步和提交。在硬件故障的情況下,所有收到的寫入會事先提交到磁盤上。 ? ??**async** ? ? ? ? 每經過一個同步間隔,都會在后臺執行同步和提交。在硬件故障的情況下,自從最后一次自動提交之后收到的寫入都會被丟棄 ### 事務日志損壞該如何處理 在某些情況下(錯誤的驅動器,用戶錯誤),translog可能會損壞。當由于不匹配的校驗而檢測到這種損壞,Elasticsearch將該分片標記為失敗,并拒絕將該數據副本分配給該節點,如果可用,則從副本中恢復。 如果沒有Elasticsearch可以成功恢復的數據副本,用戶可能希望以丟失當前包含在translog中的數據為代價來恢復作為分片一部分的數據。我們為此提供了一個命令行工具,**elasticsearch-translog**。 警告 **elasticsearch-translog**工具不應該在Elasticsearch運行時運行,并且您將永久丟失僅在translog中包含的文檔! 為了運行**elasticsearch-translog**工具,使用-d選項指定truncate子命令以及損壞的translog的目錄: ``` $ bin/elasticsearch-translog truncate -d /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/ Checking existing translog files !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! WARNING: Elasticsearch MUST be stopped before running this tool ! ! ! ! WARNING: Documents inside of translog files will be lost ! ! ! ! WARNING: The following files will be DELETED! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-41.ckp --> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-6.ckp --> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-37.ckp --> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-24.ckp --> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-11.ckp Continue and DELETE files? [y/N] y Reading translog UUID information from Lucene commit from shard at [data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/index] Translog Generation: 3 Translog UUID : AxqC4rocTC6e0fwsljAh-Q Removing existing translog files Creating new empty checkpoint at [data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog.ckp] Creating new empty translog at [data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-3.tlog] Done. ``` 您還可以使用-h選項來獲取**elasticsearch-translog**工具支持的所有選項和參數的列表。
                  <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>

                              哎呀哎呀视频在线观看