14.2.2 ezserver(EADSサーバのフォアグラウンドでの開始)
- 〈この項の構成〉
(1) 機能
EADSサーバをフォアグラウンドで開始します。
(2) 規則
-
このコマンドはEADSサーバが停止状態のときに実行できます。
-
このコマンドはEADSサーバを開始するホストにログインして実行します。クラスタ内の全EADSサーバを開始する場合は,このコマンドをEADSサーバごとに実行する必要があります。
-
コマンド実行時に出力されるメッセージログは,コンソール,およびサーバ定義のeads.logger.dirパラメタに指定したディレクトリ下のeads_server_message[n].log([n]はファイル数の通番です)に出力されます。
(3) 形式
ezserver [-h] [-r|-ai <EADSサーバID>|-ap <EADSサーバの位置(ハッシュ値)>] [-rd <ポート番号> <suspend方式>]
(4) オプションおよび引数
(a) -hまたは--help
コマンドの使用方法を表示したい場合に指定します。
このオプションを指定した場合,その他のオプションを指定しても無視されます。
(b) -rまたは--recovery
停止状態のEADSサーバをクラスタに復旧させて,クラスタへの参加状況をonlineにしたい場合に指定します。
(c) -aiまたは--add_id <EADSサーバID>
既存のクラスタ構成にない新しいEADSサーバを,クラスタの特定のレンジに追加したいときに指定します。このオプションには,新しいEADSサーバを追加したいレンジを担当するEADSサーバのEADSサーバIDを指定します。
EADSサーバIDには,1〜96の整数が指定できます。
新しいEADSサーバは,コンシステント・ハッシングの円周上で,新しいEADSサーバと隣接している2つのEADSサーバの位置(ハッシュ値)の中間に追加されます。また,新しいEADSサーバのEADSサーバIDには,1〜96の整数のうち,既存のEADSサーバに割り当てられていない最小の値が割り当てられます。
クラスタに存在しないEADSサーバのEADSサーバIDを指定した場合は,エラーになります。また,このオプションを指定してコマンドを実行した際に,クラスタに縮退状態(isolated)または停止状態(-----------)のEADSサーバが存在する場合は,エラーになります。
(d) -apまたは--add_position <EADSサーバの位置(ハッシュ値)>
既存のクラスタ構成にない新しいEADSサーバを,クラスタの特定の位置(ハッシュ値)に追加したいときに指定します。このオプションには,新しいEADSサーバを追加したい位置(ハッシュ値)を指定します。
位置(ハッシュ値)には,-2147483648〜2147483647の整数が指定できます。
追加するEADSサーバのEADSサーバIDには,1〜96の整数のうち,既存のEADSサーバに割り当てられていない最小の値が割り当てられます。
既存のEADSサーバと同じ位置(ハッシュ値)を指定した場合は,エラーになります。また,このオプションを指定してコマンドを実行した際に,クラスタに縮退状態(isolated)または停止状態(-----------)のEADSサーバが存在する場合は,エラーになります。
(e) -rdまたは--remotedebug <ポート番号> <suspend方式>
ユーザファンクションをデバッガアプリケーションでリモートデバッグするためのオプションです。本番環境では使用しないでください。
次に示すjavaオプションを指定して,EADSサーバを起動したい場合に指定します。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=<suspend方式>,address=<ポート番号>
ポート番号(EADSサーバがデバッガアプリケーションに接続するためのポート番号)には,1024〜65535の整数が指定できます。
デバッガアプリケーションの接続を待ってからEADSサーバを起動する場合は,suspend方式にyを指定します。デバッガアプリケーションの接続を待たないでEADSサーバを起動する場合は,suspend方式にnを指定します。
(5) リターンコード
0:正常終了
0以外:エラー
(6) 注意事項
-
このコマンドを実行するには,環境変数PATHに/binおよび/usr/binが設定されている必要があります。
-
クラスタを構成するEADSサーバ数が多い場合,EADSサーバを同時に起動すると,処理に時間が掛かり,タイムアウトして起動に失敗することがあります。このような場合は,間隔を空けながらEADSサーバを起動してください。または,サーバ定義のeads.admin.boot.timeoutパラメタの指定値を調整してください。
-
すでに起動しているEADSサーバに対してこのコマンドを実行した場合,KDEA08408-Eメッセージが出力されて処理を中止します。ただし,ほぼ同時にEADSサーバを二重に起動した場合,メッセージが出力されない場合があります。この場合は間隔を開けてから,EADSサーバを起動してください。
-
-aiまたは--add_idオプション,-apまたは--add_positionオプションを指定する場合,追加するEADSサーバのクラスタ定義ファイルは不要です。追加するEADSサーバにクラスタ定義ファイルがあっても読み込まれません。このため,追加するEADSサーバに不正な内容のクラスタ定義ファイルがあっても,エラーになりません。
-
-aiまたは--add_idオプション,-apまたは--add_positionオプションの指定時に,EADSサーバの追加でエラーが発生したときは,eztool statusコマンドを実行してEADSサーバが追加されているかを確認してください。
EADSサーバが追加されていない場合は,再度EADSサーバを追加してください。
追加されたEADSサーバが縮退またはプロセスダウンした場合は,EADSサーバを復旧させてください。
EADSサーバの復旧処理でエラーが発生した場合は,復旧に失敗したEADSサーバのクラスタ定義ファイルに,EADSサーバの追加後のクラスタ構成情報が反映されていない可能性があります。復旧に失敗したEADSサーバのクラスタ定義ファイルが,ほかのEADSサーバのクラスタ定義ファイルと同じかどうかを確認してください。クラスタ定義ファイルが,ほかのEADSサーバのクラスタ定義ファイルと異なる場合は,復旧に失敗したEADSサーバに,正常に稼働しているEADSサーバのクラスタ定義ファイルをコピーしてから,復旧を再度実行してください。
-
スケールアウト処理の終了直前のリクエストの応答は,一時的に時間が掛かることがあります。EADSサーバからの応答に対してEADSクライアントを長時間待機させるのではなく,EADSサーバからエラーを返却させ,EADSクライアントでそのエラーに対処させる場合は,次のパラメタの指定を検討してください。
-
スケールアウト処理の開始直後のリクエストの応答に一時的に時間が掛かる場合は,eads.scaling.requestQueuing.enableパラメタとあわせて次のパラメタの指定も検討してください。
-
次のどちらかの指定をしている場合,リクエストのスループットの向上が期待できますが,スケールアウト処理の実行完了までの時間が長くなります。運用および環境に合わせたチューニングを実施してください。
-
eads.scaling.moveDataWithUpdateRequest.enableパラメタにfalseを指定している場合で,かつezserverコマンドに-aiまたは-apオプションを指定している場合
-
eads.scaling.moveData.intervalパラメタに0以外を指定している場合で,かつezserverコマンドに-aiまたは-apオプションを指定している場合
-
-
eads.scaling.requestQueuing.enableパラメタにfalseを指定している場合で,かつezserverコマンドに-aiまたは-apオプションを指定している場合,追加するEADSサーバの移動元となるEADSサーバで実行しているクライアントAPIでエラーが発生することがあります。