elk筆記6--reindex 實踐

1 reindex 介紹

reindex 用於提取源index的文檔到目的index。可以根據需要拷貝所有文檔到目的index,也可以按照條件拷貝匹配的一部分文檔到目標索引。其既可以在同一個集羣,也可以在不同集羣之間操作,不同集羣之間多用於索引遷移(如舊集羣要下線的時候)。

2 reindex 實踐

2.1 同集羣內部reindex

將集羣內部a index reindex 到同一個集羣內的b index.
此處通過時間過濾,2019-10-30T00:00:00 之後的都進行index.

POST _reindex
{
    "source":{
        "index":"ksdf_0531",
        "query":{
            "range":{
                "timestamp":{
                    "gte": "2019-10-30T00:00:00"
                }
            }
        }
    },
    "dest":{
        "index": "ksdf_0531-2"
    }
}

reindex 結果:
在這裏插入圖片描述

2.2. 跨集羣reindex

將A集羣內部a index reindex 到B集羣內的b index.

  1. 設置白名單
    在B集羣的elasticsearch.yml 中添加 reindex.remote.whitelist: 10.120.75.102:9200, 並重啓節點。
  2. 執行reindex 命令
    將A 集羣內kibana_sample_data_flights reindex到B集羣ksdf_0531,過濾掉2019-10-31之前的數據. 若集羣帶認證,還需要在source中添加對應的username 和password字段。
    POST _reindex
    {
      "source": {
        "index": "kibana_sample_data_flights",
        "remote": {
        "host": "http://10.120.75.102:9200"
        },
        "query": {
          "range": {
            "timestamp": {
            "gte": "2019-10-30T00:00:00"
            }
          }
        }
      },
      "dest": {
        "index": "ksdf_0531"
      }
    }
    
    reindex 結果:
    在這裏插入圖片描述

3 常見問題|注意事項

  1. 在生產環境中,由於Reindex 並不從源index拷貝settings,也不會拷貝其對應的Mappings,shard數量,replicas數量等屬性,因此實際執行_reindex之前需要先配置index的屬性。

4 說明

測試使用的elk版本爲6.8.8和7.2.0
elastic reindex-upgrade
elastic reindex-upgrade-remote

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章