一時設定の移行ガイド
もはや一時的なクラスター設定の使用を推奨しません。一時設定を使用してクラスターに一時的な構成変更を加えることができます。しかし、クラスターの再起動やクラスターの不安定性により、これらの設定が予期せずクリアされる可能性があり、望ましくないクラスター構成につながる可能性があります。
このリスクを回避するために、クラスターで設定した一時設定をリセットしてください。保持したい一時設定は、クラスターの再起動や不安定性を超えて持続する永続設定に変換してください。また、カスタムワークフローやアプリケーションも、一時設定の代わりに永続設定を使用するように更新する必要があります。
一部のElastic製品は、特定の操作を実行する際に一時設定を使用する場合があります。あなた、あなたのユーザー、またはカスタムワークフローやアプリケーションによって設定された一時設定のみをリセットしてください。
一時設定をリセットして変換するには:
- 1. クラスター設定取得APIを使用して、設定された一時設定のリストを取得します。
Python
resp = client.cluster.get_settings(
flat_settings=True,
filter_path="transient",
)
print(resp)
Ruby
response = client.cluster.get_settings(
flat_settings: true,
filter_path: 'transient'
)
puts response
Js
const response = await client.cluster.getSettings({
flat_settings: "true",
filter_path: "transient",
});
console.log(response);
コンソール
GET _cluster/settings?flat_settings=true&filter_path=transient
APIはtransient
オブジェクト内の一時設定を返します。このオブジェクトが空である場合、クラスターには一時設定がなく、残りの手順をスキップできます。
コンソール-結果
{
"persistent": { ... },
"transient": {
"cluster.indices.close.enable": "false",
"indices.recovery.max_bytes_per_sec": "50mb"
}
}
- 2. クラスター設定更新APIリクエストの
persistent
オブジェクトに変換したい設定をコピーします。同じリクエスト内で、null
値を割り当てて一時設定をリセットします。
Python
resp = client.cluster.put_settings(
persistent={
"cluster.indices.close.enable": False,
"indices.recovery.max_bytes_per_sec": "50mb"
},
transient={
"*": None
},
)
print(resp)
Ruby
response = client.cluster.put_settings(
body: {
persistent: {
'cluster.indices.close.enable' => false,
'indices.recovery.max_bytes_per_sec' => '50mb'
},
transient: {
"*": nil
}
}
)
puts response
Js
const response = await client.cluster.putSettings({
persistent: {
"cluster.indices.close.enable": false,
"indices.recovery.max_bytes_per_sec": "50mb",
},
transient: {
"*": null,
},
});
console.log(response);
コンソール
PUT _cluster/settings
{
"persistent": {
"cluster.indices.close.enable": false,
"indices.recovery.max_bytes_per_sec": "50mb"
},
"transient": {
"*": null
}
}
- 3. クラスター設定取得APIを使用して、クラスターに残っている一時設定がないことを確認します。
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);
コンソール
GET _cluster/settings?flat_settings=true
[](#2ed98be3424f9822f476f92cee85cae9)
#### コンソール-結果
``````console-result
{
"persistent": {
"cluster.indices.close.enable": "false",
"indices.recovery.max_bytes_per_sec": "50mb",
...
},
"transient": {
}
}
`