全部產品
Search
文件中心

Elasticsearch:使用apack外掛程式的物理複製功能

更新時間:Mar 24, 2026

物理複製功能適用於索引有副本、寫入資料量大、對資料寫入後可見度延遲要求不高的情境(如日誌情境、時序分析情境),可大幅降低CPU開銷,提升寫入效能。與原生Elasticsearch相比,開啟物理複製功能後寫入效能提升大於45%。

物理複製功能由Elasticsearch自研的apack外掛程式提供,6.7.0(核心版本1.2.0及以上)和7.10.0版本的執行個體預設已安裝apack外掛程式,不可卸載,可在外掛程式配置頁面查看安裝狀態。本文中的命令均可在Kibana控制台中執行,詳情請參見通過Kibana串連叢集

開啟物理複製功能

建立索引時,通過settings開啟物理複製功能。開啟後,主分區的寫入機制與原生Elasticsearch一致(既寫索引檔案也寫translog),而副本分區唯寫translog。主分區在每次refresh時,通過網路將增量的索引檔案拷貝到副本分區,主副分區的可見度延遲為毫秒層級。

mermaid-diagram-2026-03-23-105452

apack外掛程式安裝後建立的索引預設已開啟物理複製功能,無需手動設定。如需為外掛程式安裝前建立的索引開啟物理複製功能,請參見為已有索引開啟物理複製功能

PUT index-1
{
"settings": {
 "index.replication.type" : "segment"
 }
}

關閉物理複製功能

關閉物理複製功能後,索引切回原生模式(主副分區都會寫索引檔案和translog)。如需使用通過CCR跨叢集複製解決跨叢集容災情境,必須先關閉物理複製功能。

  1. 關閉索引。

    POST index-1/_close
  2. 更新索引settings,關閉物理複製功能。

    PUT index-1/_settings
    {
    "index.replication.type" : null
    }
  3. 開啟索引。

    POST index-1/_open

為已有索引開啟物理複製功能

為原生模式的已有索引開啟物理複製功能前,需要先將副本數設定為0並關閉索引。

  1. 將索引的副本數設定為0。

    PUT index-1/_settings
    {
      "index.number_of_replicas": 0
    }
  2. 關閉索引。

    POST index-1/_close
  3. 更新索引settings,開啟物理複製功能。

    PUT index-1/_settings
    {
    "index.replication.type" : "segment"
    }
  4. 開啟索引。

    POST  index-1/_open
  5. 將索引的副本數設定為1。

    PUT index-1/_settings
    {
      "index.number_of_replicas": 1
    }