システムに欠落しているティアを追加する

Elasticsearchのデプロイメントにおけるインデックスの割り当ては、データティアに基づいて行われます。

インデックスが割り当てられるようにするために、インデックスが割り当てられることを期待するデータティアをデプロイメントに追加する手順は次のとおりです:

シャードを割り当てるためには、デプロイメントで新しいティアを有効にする必要があります。

Kibanaを使用する

  • 1. Elastic Cloudコンソールにログインします。
  • 2. Elasticsearchサービスパネルで、デプロイメントの名前をクリックします。
    デプロイメントの名前が無効になっている場合、Kibanaインスタンスが正常でない可能性があります。その場合は、Elasticサポートにお問い合わせください。デプロイメントにKibanaが含まれていない場合は、最初に有効にするだけで済みます。
  • 3. デプロイメントのサイドナビゲーションメニュー(左上隅のElasticロゴの下に配置されています)を開き、Dev Tools > Consoleに移動します。
    Kibana Console
  • 4. インデックスが割り当てを期待するティアを特定します。index.routing.allocation.include._tier_preference設定の構成値を取得します:

Python

  1. resp = client.indices.get_settings(
  2. index="my-index-000001",
  3. name="index.routing.allocation.include._tier_preference",
  4. flat_settings=True,
  5. )
  6. print(resp)

Ruby

  1. response = client.indices.get_settings(
  2. index: 'my-index-000001',
  3. name: 'index.routing.allocation.include._tier_preference',
  4. flat_settings: true
  5. )
  6. puts response

Js

  1. const response = await client.indices.getSettings({
  2. index: "my-index-000001",
  3. name: "index.routing.allocation.include._tier_preference",
  4. flat_settings: "true",
  5. });
  6. console.log(response);

コンソール

  1. GET /my-index-000001/_settings/index.routing.allocation.include._tier_preference?flat_settings

レスポンスは次のようになります:

コンソール-結果

  1. {
  2. "my-index-000001": {
  3. "settings": {
  4. "index.routing.allocation.include._tier_preference": "data_warm,data_hot"
  5. }
  6. }
  7. }
このインデックスが割り当てを許可されているデータティアノードロールのカンマ区切りリストを表します。最初のものが優先度が高いものです。すなわち、インデックスがターゲットにしているティアです。例として、この例ではティアの優先度はdata_warm,data_hotであり、インデックスはwarmティアをターゲットにしており、data_warmロールを持つノードがElasticsearchクラスターにさらに必要です。
  • 5. デプロイメントのサイドナビゲーションメニュー(左上隅のElasticロゴの下に配置されています)を開き、このデプロイメントを管理に移動します。
  • 6. 右側から、管理ドロップダウンボタンを展開し、オプションのリストからデプロイメントを編集を選択します。
  • 7. 編集ページで、有効にする必要があるティアの+ キャパシティを追加をクリックします。新しいティアの希望のサイズと可用性ゾーンを選択します。
  • 8. ページの下部に移動し、保存ボタンをクリックします。

シャードを割り当てるために、Elasticsearchクラスターにノードを追加し、インデックスのターゲットティアのnode roleを新しいノードに割り当てることができます。

インデックスが割り当てに必要なティアを特定するには、インデックス設定を取得APIを使用してindex.routing.allocation.include._tier_preference設定の構成値を取得します:

Python

  1. resp = client.indices.get_settings(
  2. index="my-index-000001",
  3. name="index.routing.allocation.include._tier_preference",
  4. flat_settings=True,
  5. )
  6. print(resp)

Ruby

  1. response = client.indices.get_settings(
  2. index: 'my-index-000001',
  3. name: 'index.routing.allocation.include._tier_preference',
  4. flat_settings: true
  5. )
  6. puts response

Js

  1. const response = await client.indices.getSettings({
  2. index: "my-index-000001",
  3. name: "index.routing.allocation.include._tier_preference",
  4. flat_settings: "true",
  5. });
  6. console.log(response);

コンソール

  1. GET /my-index-000001/_settings/index.routing.allocation.include._tier_preference?flat_settings

レスポンスは次のようになります:

コンソール-結果

  1. {
  2. "my-index-000001": {
  3. "settings": {
  4. "index.routing.allocation.include._tier_preference": "data_warm,data_hot"
  5. }
  6. }
  7. }
このインデックスが割り当てを許可されているデータティアノードロールのカンマ区切りリストを表します。最初のものが優先度が高いものです。すなわち、インデックスがターゲットにしているティアです。例として、この例ではティアの優先度はdata_warm,data_hotであり、インデックスはwarmティアをターゲットにしており、data_warmロールを持つノードがElasticsearchクラスターにさらに必要です。