Elasticsearch にデータをシステムに割り当てることを許可する
Elasticsearch のデプロイメントにおけるデータの割り当ては、クラスタ割り当ての有効化設定を使用して制御できます。特定の状況では、ユーザーはシステム内のデータの割り当てを一時的に無効にしたり制限したりしたい場合があります。
すべてのデータ割り当てを再許可するのを忘れると、未割り当てのシャードが発生する可能性があります。
すべてのデータを(再)許可するためには、次の手順に従ってください:
シャードを割り当てるためには、シャードの割り当てを制限する設定の値を変更して、すべてのシャードが割り当てられるようにする必要があります。
これを達成するために、システム全体の cluster.routing.allocation.enable
クラスタ設定を確認し、設定された値を all
に変更します。
Kibana を使用する
- 1. Elastic Cloud コンソールにログインします。
- 2. Elasticsearch サービスパネルで、デプロイメントの名前をクリックします。
デプロイメントの名前が無効になっている場合、Kibana インスタンスが正常でない可能性があります。その場合は、Elastic サポートにお問い合わせください。デプロイメントに Kibana が含まれていない場合は、最初に有効にする必要があります。 - 3. デプロイメントのサイドナビゲーションメニュー(左上隅の Elastic ロゴの下に配置)を開き、**Dev Tools
Console**に移動します。
- 4.
cluster.routing.allocation.enable
クラスタ設定を確認します:
Python
resp = client.cluster.get_settings(
flat_settings=True,
)
print(resp)
Ruby
response = client.cluster.get_settings(
flat_settings: true
)
puts response
Js
const response = await client.cluster.getSettings({
flat_settings: "true",
});
console.log(response);
Console
GET /_cluster/settings?flat_settings
Console-Result
{
"persistent": {
"cluster.routing.allocation.enable": "none"
},
"transient": {}
}
システム内でデータが部分的にまたは完全に割り当てられるかどうかを制御する現在の設定値を表します。 |
Python
resp = client.cluster.put_settings(
persistent={
"cluster.routing.allocation.enable": "all"
},
)
print(resp)
Ruby
response = client.cluster.put_settings(
body: {
persistent: {
'cluster.routing.allocation.enable' => 'all'
}
}
)
puts response
Js
const response = await client.cluster.putSettings({
persistent: {
"cluster.routing.allocation.enable": "all",
},
});
console.log(response);
Console
PUT _cluster/settings
{
"persistent" : {
"cluster.routing.allocation.enable" : "all"
}
}
allocation.enable システム全体の設定の新しい値は、すべてのシャードが割り当てられるように変更されました。 |
シャードを割り当てるためには、シャードの割り当てを制限する設定の値を変更して、すべてのシャードが割り当てられるようにする必要があります。
これを達成するために、システム全体の cluster.routing.allocation.enable
クラスタ設定を確認し、設定された値を all
に変更します。
- 1.
cluster.routing.allocation.enable
クラスタ設定を確認します:
Python
resp = client.cluster.get_settings(
flat_settings=True,
)
print(resp)
Ruby
response = client.cluster.get_settings(
flat_settings: true
)
puts response
Js
const response = await client.cluster.getSettings({
flat_settings: "true",
});
console.log(response);
Console
GET /_cluster/settings?flat_settings
Console-Result
{
"persistent": {
"cluster.routing.allocation.enable": "none"
},
"transient": {}
}
システム内でデータが部分的にまたは完全に割り当てられるかどうかを制御する現在の設定値を表します。 |
Python
resp = client.cluster.put_settings(
persistent={
"cluster.routing.allocation.enable": "all"
},
)
print(resp)
Ruby
response = client.cluster.put_settings(
body: {
persistent: {
'cluster.routing.allocation.enable' => 'all'
}
}
)
puts response
Js
const response = await client.cluster.putSettings({
persistent: {
"cluster.routing.allocation.enable": "all",
},
});
console.log(response);
Console
PUT _cluster/settings
{
"persistent" : {
"cluster.routing.allocation.enable" : "all"
}
}
allocation.enable システム全体の設定の新しい値は、すべてのシャードが割り当てられるように変更されました。 |