ホーム>source

スナップショットを自動化し、1つのクラスターからバックアップクラスターに復元する必要がありますが、スナップショットを復元しようとすると、インデックスが既に存在することを訴えます。次に、それらのインデックスを削除するか、それらを閉じて、新しく復元する必要があります。ライブクラスタからバックアップクラスタまですべてを上書きする--forceのようなオプションはありますか?

再インデクシングオプションがありますが、スナップショットと復元に比べて時間がかかります。

あなたの答え
  • 解決した方法 # 1

    rename_pattern を定義できます  および rename_replacement  ドキュメントが示唆するように。完全に自動化するには、時間/日付を追加できます。

    POST /_snapshot/my_backup/snapshot_1/_restore
    {
      "indices": "index_1,index_2",
      "ignore_unavailable": true,
      "include_global_state": true,
      "rename_pattern": "(.+)",
      "rename_replacement": "$1_20180820"
    }
    
    

    そして、エイリアスを使用して、この「バックアップ」インデックスを「通常の」インデックスのように見せます。

    POST /_aliases
    {
        "actions" : [
            { "add" : { "index" : "index_1_20180820", "alias" : "index_1" } }
        ]
    }
    
    

    もちろん、これは、その時刻/日付を生成し、スナップショットの復元の進行状況を確認する自動化スクリプトを作成する必要があることを意味します。

    お役に立てば幸いです!

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ kotlin - onTaskRemoved()はAndroid 80 Oreo APIレベル26では機能しません