ESクラスタアンリスタートノード

2513 ワード

Elastcisearchクラスタでは、ハードディスクの追加、メモリの拡張、ESクライアントのアップグレードなどの操作に遭遇し、ノードの再起動が必要になりますが、ビジネスが停止できないため、単一のノードを直接閉じると、ESクラスタはこのノードが停止し、esのshardが自動的に等化してデータを転送すると考えられます.このときノードが復旧すると、データの再割り当てが発生し、I/Oネットワークリソースが大量に消費されます.クラスタ状態red,大量unsigned_をもたらすshardsは、ESクラスタ状態redを引き起こす.だから私たちの考えは:1.ESクラスタのshard自動割当てを先に閉じる.ノードを閉じるノード構成3を変更する.ノードを起動してからクラスタshard自動割り当てをオンにします
具体的な操作は以下の通りである:1.クラスタの自動割当ての停止
curl -XGET 'http://192.168.17.201:9200/_cluster/settings' -d '{"transient" : {"cluster.routing.allocation.enable" : "none"}}'

2.shoudownクラスタノード、es構成を変更し、ノードを起動し、ノードがクラスタに追加されたことを確認します.クラスタノード数をチェックし、ノードがクラスタに参加しているかどうかを判断します.
curl -XGET 'http://192.168.17.201:9200/_cluster/health?pretty=true'  

3.手順2を繰り返し、残りのノードの構成を変更します.ノード構成をすべて変更した後、クラスタの自動割り当てをオンにします.
curl -XGET 'http://192.168.17.201:9200/_cluster/settings' -d '{"transient" : {"cluster.routing.allocation.enable" : "all"}}'

クラスタステータスを表示すると、クラスタステータスがredでunsigned_shardsは自動的に減少し、クラスタshardsの自動分配が成功したことを示し、すべての分配が完了すると、ESクラスタ状態はGreenになってクラスタ状態を表示する
curl -XGET 'http://192.168.17.201:9200/_cluster/health?pretty=true'  

ESクラスタノードの構成変更/アップグレードの安全再起動が完了する.
附:転載クラスタノード離脱とノード帰還ESクラスタの状態ノード離脱elasticsearchクラスタにおいて、NodeAが様々な理由でクラスタを脱退したと仮定し、NodeA上のShardスライスの場合(ShardAはプライマリスライスであり、ShardBはあるスライスコピーである)
生存ノードでShardAのコピーを見つけ、このコピーをプライマリスライスに昇格させるShardBというスライスコピーが失われるため、対応するスライスコピーを再作成し、生存ノードでスライスを再バランスさせることで、各スライスに十分なコピーがあることを保証し、データ損失を回避することができます.なお、ステップ2およびステップ3は、大量のネットワークI/O動作に関与する.ノードは、離れたノードがクラスタに再加入する場合、elasticsearchがデータスライス(shard)を再バランスさせるために、再加入したNodeAにデータスライス(Shard)を再配分し、再び大量のネットワークI/O操作をもたらすことを返す.