1.8. Data Grid Server のシャットダウン
個別に実行中のサーバーを停止するか、クラスターを正常に停止します。
手順
- Data Grid への CLI 接続を作成します。
次のいずれかの方法で Data Grid Server をシャットダウンします。
shutdown cluster
コマンドを使用して、クラスターのすべてのノードを停止します。以下に例を示します。shutdown cluster
このコマンドは、クラスターの各ノードの
data
フォルダーにクラスターの状態を保存します。キャッシュストアを使用する場合、shutdown cluster
コマンドはキャッシュのすべてのデータも永続化します。shutdown server
コマンドおよびサーバーのホスト名を使用して、個々のサーバーインスタンスを停止します。以下に例を示します。shutdown server <my_server01>
shutdown server
コマンドは、リバランス操作が完了するまで待機しません。これにより、同時に複数のホスト名を指定すると、データが失われる可能性があります。
このコマンドの使用方法の詳細は、help shutdown
を実行してください。
検証
Data Grid は、サーバーをシャットダウンしたときに以下のメッセージをログに記録します。
ISPN080002: Data Grid Server stopping ISPN000080: Disconnecting JGroups channel cluster ISPN000390: Persisted state, version=<$version> timestamp=YYYY-MM-DDTHH:MM:SS ISPN080003: Data Grid Server stopped
1.8.1. Data Grid クラスターのシャットダウンおよび再起動
ノードを適切にシャットダウンして再起動することで、データの損失を回避してクラスターの一貫性を確保します。
クラスターのシャットダウン
Data Grid では、クラスターの状態を保存し、キャッシュ内のすべてのデータを永続化する時には、shutdown cluster
コマンドを使用してクラスター内のすべてのノードを停止することを推奨します。shutdown cluster
コマンドは、ノードが 1 つ含まれるクラスターに対しても使用できます。
Data Grid クラスターをオンラインに戻すと、すべてのノードが再度参加するまで、クラスター内のすべてのノードおよびキャッシュが利用できなくなります。Data Grid は、不整合やデータ損失を防ぐために、クラスターに保存されているデータへのアクセスと、クラスター状態の変更を制限します。さらに、Data Grid はクラスターのリバランスを無効にし、起動時にローカルキャッシュストアがパージされないようにします。
クラスターの回復プロセス中に、コーディネーターノードは、新しいノードが参加するたびにメッセージをログに記録し、どのノードが使用可能でどのノードがまだ欠落しているかを示します。Data Grid クラスター内の他のノードには、参加時のビューが表示されます。Data Grid Console または REST API を使用して、キャッシュの可用性を監視できます。
ただし、すべてのノードを待機することが不要または望ましくない場合は、現在のトポロジーで使用可能なキャッシュを設定できます。この方法は、CLI (下記参照) または REST API を通じて可能です。
トポロジーを手動でインストールすると、データが失われる可能性があります。この操作は、初期トポロジーを再作成できない場合にのみ実行してください。
サーバーのシャットダウン
shutdown server
コマンドを使用してノードを停止した後、オンラインに戻った最初のノードは、他のメンバーを待たずにすぐに使用できるようになります。残りのノードはすぐにクラスターに参加し、状態繊維がトリガーされますが、最初にローカル永続性が読み込まれるため、エントリーが失効する可能性があります。起動時にパージするように設定されたローカルキャッシュストアは、サーバーの起動時に空になります。purge=false
としてマークされたローカルキャッシュストアは、サーバーの再起動後に使用可能になりますが、古いエントリーが含まれている可能性があります。
shutdown server
コマンドを使用してクラスター化されたノードをシャットダウンする場合は、データ損失やキャッシュ内の古いエントリーに関連する問題が発生しないようにするために、各サーバーを逆の順序で再起動する必要があります。
たとえば、server1
をシャットダウンしてから、server2
をシャットダウンする場合は、最初に server2
を起動してから server1
を起動する必要があります。ただし、クラスター化されたノードを逆の順序で再起動しても、データ損失や古いエントリーを完全に防ぐことはできません。