すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:バージョンアップグレード前のチェックの実行

最終更新日:Jan 11, 2025

Alibaba Cloud Elasticsearch クラスターのバージョンをアップグレードする前に、必要な手動チェックを実行する必要があります。また、クラスターの状態と構成の互換性を手動で確認し、ビジネス要件に基づいて構成を変更することをお勧めします。このトピックでは、バージョンアップグレード前に必要な手動チェックと、推奨されるクラスターの状態と構成の互換性チェックについて説明します。また、互換性のない構成を変更するために使用できる方法についても説明します。

背景情報

手動チェックを実行する

クラスターのバージョンをアップグレードする前に、次の操作を手動で実行する必要があります。

  • 次のコマンドを実行して、クラスターがクローズ状態のインデックスを格納しているかどうかを確認します。

    GET _cat/indices?v

    Check for indexes that are in the close state

    クラスターがクローズ状態のインデックスを格納している場合は、次のコマンドを実行してインデックスを開きます。

    POST test/_open
  • クラスターのカーネルを更新する場合は、新しいカーネルバージョンが利用可能かどうかを確認します。クラスターのカーネルは、クラスターで新しいカーネルバージョンが利用可能な場合にのみ更新できます。

    クラスターの 基本情報 ページにアクセスして、クラスターで新しいカーネルバージョンが利用可能かどうかを確認できます。 A later kernel version is available

  • クライアント を使用してクラスターにアクセスするかどうかを確認します。クライアントを使用する場合は、クライアントのバージョンがクラスターのバージョンと互換性があることを確認してください。 2 つのバージョンに互換性がない場合は、クライアントのバージョンをアップグレードします。クライアントとクラスター間のバージョンの互換性の詳細については、「互換性」をご参照ください。

クラスターのバージョンを V5.X から V6.X にアップグレードする場合は、次の操作も実行する必要があります。

  • V5.X クラスターに格納されている各マルチタイプインデックスを複数のシングタイプインデックスに分割します。

    V6.X 以降のクラスターは、マルチタイプインデックスをサポートしていません。 V5.X クラスターがマルチタイプインデックスを格納している場合、クラスターバージョンが V6.X にアップグレードされた後、インデックスにデータを書き込むことができます。ただし、V6.X でマルチタイプインデックスを作成すると、エラーが報告されます。アップグレード前に、各マルチタイプインデックスをシングタイプインデックスに分割することをお勧めします。

  • 次のコマンドを実行して、クラスターでクロス クラスター検索機能が有効になっているかどうかを確認します。この機能がクラスターで有効になっている場合、search.remote パラメーターが戻り結果に表示され、このパラメーターの値は null ではありません。

    GET _cluster/settings

    この機能がクラスターで有効になっている場合は、次のコマンドを実行してこの機能を無効にします。クラスターのバージョンをアップグレードした後、この機能を再度有効にすることができます。

    PUT _cluster/settings
    {
      "persistent": {
        "search.remote.*": null
      },
      "transient": {
        "search.remote.*": null
      }
    }
    重要

    search.remote パラメーターは V5.X でクロス クラスター検索機能を構成するために使用されますが、cluster.remote パラメーターは V6.X で使用されます。

クラスターの状態チェック

クラスターのバージョンをアップグレードする場合は、[事前チェック] をクリックして、システムがクラスターの状態とクラスターの負荷が正常かどうかを確認できるようにする必要があります。クラスターのバージョンは、クラスターが正常な状態であり、負荷が正常な場合にのみアップグレードできます。クラスターのバージョンをアップグレードする前に、次の表にリストされている項目を参照して手動チェックを実行することもできます。

チェック項目

正常な状態

クラスターの状態

クラスターは正常状態(緑色で表示)です。

JVM ヒープメモリの使用量

クラスターの JVM ヒープメモリの使用量は 75% 未満です。

ディスク使用量

ノードのディスク使用量は cluster.routing.allocation.disk.watermark.low の値よりも小さいです。

レプリカ シャード

  • すべてのインデックスはレプリカ シャードで構成されています。

  • マルチゾーン クラスターに変更を加える前に、クラスター内の各インデックスのレプリカ シャードの数が、クラスターがデプロイされているゾーンの数よりも少ないことを確認する必要があります。変更が完了したら、ビジネス要件に基づいてレプリカ シャードの数を手動で増やすことができます。クラスター内のインデックスのレプリカ シャードの数を変更する方法の詳細については、「インデックステンプレート」をご参照ください。

スナップショット

システムは最後の 1 時間の間にクラスターのスナップショットを作成しました。

カスタム プラグイン

クラスターにはカスタム プラグインがインストールされていません。

クラスターが存在するゾーンの Elastic Compute Service (ECS) インスタンス

クラスターが存在するゾーンには、十分な ECS インスタンスがあります。

説明

クラスターのバージョンをアップグレードすると、システムは新しいバージョンのノードをクラスターに追加します。次に、システムは元のノードに格納されているデータを追加されたノードに移行し、元のノードをクラスターから削除します。アップグレード前に、クラスターが存在するゾーンに十分な ECS インスタンスがあることを確認してください。

YML 構成ファイル

新しいバージョンのクラスターは、以前のバージョンの YML 構成ファイルと互換性があります。

構成の互換性チェック

クラスターのバージョンを V6.X にアップグレードすると、システムはバージョン間に互換性のない構成が存在するかどうかを自動的にチェックします。互換性のない構成を変更しないと、アップグレード後にクラスター サービスに影響を与える可能性があります。クラスターバージョンをアップグレードできることを確認するために、アップグレードを実行する前に GET _cluster/settings コマンドと GET*/_settings?flat_settings=true コマンドを実行して、次の表にリストされている構成がクラスターに構成されているかどうかを確認できます。

重要

インデックステンプレートに次の表にリストされている構成が含まれている場合、テンプレートを使用してアップグレード後にインデックスを作成することはできません。

番号

構成レベル

構成カテゴリ

パラメーター

1

クラスター

スナップショット設定

cluster.routing.allocation.snapshot.relocation_enabled

2

ストレージ スロットリング設定

indices.store.throttle.type および indices.store.throttle.max_bytes_per_sec

3

インデックス

類似度設定

index.similarity.base

4

シャドウ レプリカ設定

index.shared_filesystem および index.shadow_replicas

5

インデックス ストレージ設定

index.store.type

6

ストレージ スロットリング設定

index.store.throttle.type および index.store.throttle.max_bytes_per_sec

7

インデックスのマッピング構成の include_in_all 設定

include_in_all

説明

V5.X から V6.X へのアップグレード前に作成され、このパラメーターが構成されているインデックスは、アップグレード後も引き続き使用できます。アップグレード後に作成されたインデックスはこのパラメーターをサポートしていません。

8

インデックス作成のバージョン設定

index.version.created

説明

このパラメーターは、メジャーバージョン間でインデックスをアップグレードできないことを指定します。たとえば、V5.X で作成されたインデックスを V7.X に直接アップグレードすることはできません。 V5.X から V7.X にアップグレードする前に、reindex API を呼び出して、インデックス内のデータを V7.X クラスターに移行する必要があります。次に、V5.X クラスターからインデックスを削除し、V5.X クラスターのバージョンをアップグレードします。

9

インデックステンプレート

類似度設定

index.similarity.base

10

シャドウ レプリカ設定

index.shared_filesystem および index.shadow_replicas

11

インデックス ストレージ設定

index.store.type

12

ストレージ スロットリング設定

index.store.throttle.type および index.store.throttle.max_bytes_per_sec

13

インデックステンプレートのマッピング構成の include_in_all 設定

include_in_all

14

インデックステンプレートのマッピング構成の _all 設定

_all

15

インデックステンプレートのマッピング構成のタイプ設定

なし

説明

インデックステンプレートのマッピング構成に複数のタイプ設定が含まれているかどうかを確認します。

説明
  • 前の表にリストされているパラメーターは、V6.0 以降では非推奨です。詳細については、「6.0 での破壊的変更」をご参照ください。

  • 上記のチェック項目は CRITICAL チェック項目です。 CRITICAL チェック項目が報告された場合、クラスターは互換性チェックに失敗し、クラスターバージョンをアップグレードできません。新しいバージョンは、CRITICAL チェック項目で示される構成と互換性がありません。「互換性のない構成を変更する」を参照して、互換性のない構成を変更し、再度チェックを実行してください。 WARNING チェック項目が報告された場合、クラスターは互換性チェックに失敗しますが、クラスターバージョンは引き続きアップグレードできます。 WARNING チェック項目で示される構成は、アップグレード後に無視されます。

互換性のない構成を変更する

このセクションでは、互換性のない構成を変更するために使用される方法について説明します。

  • クラスターレベルの互換性のない構成

    クラスターレベルの互換性のない構成の場合は、構成を無効にすることができます。

    構成カテゴリ

    構成を無効にするコマンド

    スナップショット設定

    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.snapshot.relocation_enabled": null
      },
      "transient": {
        "cluster.routing.allocation.snapshot.relocation_enabled": null
      }
    }

    ストレージ スロットリング設定

    PUT _cluster/settings
    {
      "persistent": {
        "indices.store.throttle.type": null,
        "indices.store.throttle.max_bytes_per_sec": null
      },
      "transient": {
        "indices.store.throttle.type": null,
        "indices.store.throttle.max_bytes_per_sec": null
      }
    }
  • インデックスレベルの互換性のない構成

    インデックスレベルの互換性のない構成の場合は、構成を無効にすることができます。

    構成カテゴリ

    構成を無効にするコマンド

    追加情報

    類似度設定

    PUT test_index/_settings
    {
       "index.similarity.base.*": null
    }

    これらの構成は、インデックスが閉じられた後にのみ変更できます。閉じられたインデックスからデータを読み込んだり、書き込んだりすることはできません。変更後、インデックスを開くことができます。次の例は、test_index インデックスを開いたり閉じたりする方法を示しています。

    • インデックスを閉じる

      POST test_index/_close
    • インデックスを開く

      POST test_index/_open

    シャドウ レプリカ設定

    PUT test_index/_settings
    {
        "index.shared_filesystem": null,
        "index.shadow_replicas": null
    }

    インデックス ストレージ設定

    PUT test_index/_settings
    {
       "index.store.type": null
    }

    ストレージ スロットリング設定

    PUT test_index/_settings
    {
      "settings": {
        "index.store.throttle.type": null,
        "index.store.throttle.max_bytes_per_sec": null
      }
    }

    なし。

    説明

    include_in_all パラメーターが構成されているインデックスは、新しいバージョンでも引き続き使用できます。このパラメーターを変更する必要はありません。

  • インデックステンプレートレベルの互換性のない構成

    次の例は、test_template インデックステンプレートの構成を変更する方法を示しています。

    1. GET _template/test_template コマンドを実行して、test_template インデックステンプレートをクエリします。

      クエリ結果には、インデックステンプレートに次の互換性のない構成が含まれていることが示されています。インデックス ストレージ設定、_all、および include_in_all

      {
       "test_template": {
         "order": 0,
         "template": "test_*",
         "settings": {
           "index": {
             "store": {
               "throttle": {
                 "max_bytes_per_sec": "100m"
               }
             }
           }
         },
         "mappings": {
           "test_type": {
             "_all": {
               "enabled": true
             },
             "properties": {
               "test_field": {
                 "type": "text",
                 "include_in_all": true
               }
             }
           }
         },
         "aliases": {}
       }
      }
    2. 次のコマンドを実行して、互換性のない構成を削除し、インデックステンプレートを更新します。

      PUT _template/test_template
      {
         "order": 0,
         "template": "test_*",
         "settings": {
         },
         "mappings": {
           "test_type": {
             "properties": {
               "test_field": {
                 "type": "text"
               }
             }
           }
         },
         "aliases": {}
      }