WebLogic Server クラスタ ユーザーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

一般的な問題のトラブルシューティング

この章では、クラスタに関連する問題の発生を防ぎ、また問題が起きた場合にそれに対処するためのガイドラインを示します。

 


クラスタを起動する前に

クラスタを起動する前に、問題を避けるためのいくつかの確認を行うことができます。

クラスタ ライセンスのチェック

WebLogic Server のライセンスにクラスタ化機能が含まれている必要があります。クラスタ化ライセンスがない状態でクラスタを起動しようとすると、「Unable to find a license for clustering」というエラー メッセージが表示されます。

サーバのバージョン番号のチェック

クラスタ内のすべてのサーバは、メジャー バージョン番号が同じでなければなりません。ただし、マイナー バージョン番号とサービス パックは異なっていてもかまいません。

クラスタの管理サーバは通常クラスタ メンバーとしてコンフィグレーションされませんが、管理対象サーバで使用されるものと同じメジャー バージョン番号の WebLogic Server を実行する必要があります。

マルチキャスト アドレスのチェック

マルチキャスト アドレスに関する問題は、クラスタが起動しないか、またはサーバがクラスタに参加できないことの最も一般的な理由の 1 つです。

マルチキャスト アドレスはクラスタごとに必要です。マルチキャスト アドレスには 224.0.0.0 ~ 239.255.255.255 の範囲の IP アドレスか、またはその範囲内の IP アドレスを持つホスト名を使用できます。

クラスタのマルチキャスト アドレスとポートは、Administration Console の [コンフィグレーション|マルチキャスト] タブで確認できます。

ネットワーク上の各クラスタで、マルチキャスト アドレスとポートの組み合わせはユニークでなければなりません。ネットワーク上の 2 つのクラスタで同じマルチキャスト アドレスを使用する場合、それぞれのクラスタのポートは異なっている必要があります。複数のクラスタでマルチキャスト アドレスが異なっていれば、それらのクラスタで同じポートまたはデフォルトの 7001 番ポートを使用できます。

クラスタを起動する前に、クラスタのマルチキャスト アドレスとポートが正しいことと、ネットワーク上の他のクラスタとの間でマルチキャスト アドレスとポートの組み合わせが重複していないことを確認してください。

マルチキャスト アドレスが不正な場合に最も起こりやすいエラーには、以下のものがあります。

クラスタ化のためのマルチキャスト ソケットを作成できない

マルチキャスト ソケットの送信エラー

マルチキャスト ソケットの受信エラー

CLASSPATH の値のチェック

CLASSPATH の値が、クラスタ内のすべての管理対象サーバ間で一致していることを確認します。CLASSPATHsetEnv スクリプトによって設定されます。このスクリプトは、startManagedWebLogic を実行して管理対象サーバを起動する前に実行します。

デフォルトでは、setEnvCLASSPATH の値を次のように設定します (Windows システム上での表現形式)。

set WL_HOME=C:\bea\wlserver_10.00
set JAVA_HOME=C:\bea\jdk131
.
.
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;
%WL_HOME%\server\lib\weblogic_sp.jar;
%WL_HOME%\server\lib\weblogic.jar;
%CLASSPATH%

ある管理対象サーバで CLASSPATH の値を変更するか、または setEnv による CLASSPATH の設定内容を変更する場合、クラスタ内のすべての管理対象サーバで同じ変更を行う必要があります。

スレッド カウントのチェック

クラスタ内の各サーバ インスタンスには、固定数の実行スレッドでコンフィグレーションされたデフォルトの実行キューがあります。デフォルト実行キューのスレッド カウントを参照するには、サーバの [コンフィグレーション|全般] タブの [詳細] オプション部分で [Configure Execute Queue] コマンドを選択します。デフォルト キューのデフォルト スレッド カウントは 15 であり、最小値は 5 です。スレッド カウントの値が 5 未満の場合、管理対象サーバが起動時にハングしないように値を 5 以上に変更します。

 


クラスタ起動後の作業

コマンドのチェック

クラスタが起動できないかまたはサーバがクラスタに参加できない場合は、まず最初に、startManagedWebLogic のコマンドや java インタプリタ コマンドなどの入力間違いをチェックします。

ログ ファイルの生成

クラスタ関連の問題について BEA テクニカル サポートにお問い合わせになる前に、診断情報を収集してください。最も重要な情報は、管理対象サーバからの複数のスレッド ダンプが出力されたログ ファイルです。ログ ファイルは特に、クラスタのフリーズやデッドロックを診断する場合に重要です。

複数のスレッド ダンプが出力されたログ ファイルは、問題を診断するための前提条件となります。

  1. サーバを停止します。
  2. この時点でログ ファイルがあればすべて削除するか、バックアップします。既存のログ ファイルに追加書き込みを行うよりも、サーバを起動するたびに新しいログ ファイルを作成することをお勧めします。
  3. 次のコマンドでサーバを起動します。このコマンドでは冗長ガベージ コレクションを有効にし、標準エラーと標準出力の両方をログ ファイルにリダイレクトします。
  4. % java -ms64m -mx64m -verbose:gc -classpath $CLASSPATH
    -Dweblogic.domain=mydomain -Dweblogic.Name=clusterServer1
    -Djava.security.policy==$WL_HOME/lib/weblogic.policy
    -Dweblogic.admin.host=192.168.0.101:7001
    weblogic.Server >> logfile.txt

    標準エラーと標準出力の両方をリダイレクトすることにより、サーバの通知メッセージとエラー メッセージを含む、適切なコンテキストのスレッド ダンプ情報が得られ、問題を解析しやすくなります。

  5. 問題が再発生するまで、クラスタの実行を継続します。
  6. サーバがハングした場合は、kill -3 コマンドまたは〔Ctrl〕-〔Break〕を使用して、問題を診断するために必要なスレッド ダンプを作成します。デッドロックの診断を行うには、この作業を各サーバに対して、約 5 ~ 10 秒間隔で何度か行うようにしてください。
  7. 注意 : Linux で JRockit JVM を実行している場合は、「Linux 上で JRockit スレッド ダンプを取得する」を参照してください。
  8. UNIX ユーティリティを使用してログ ファイルを圧縮します。
  9. % tar czf logfile.tar logfile.txt

    または、Windows の zip ユーティリティを使用して圧縮します。

  10. BEA テクニカル サポート担当者宛の電子メールに、圧縮したログ ファイルを添付します。メールの本文にログ ファイルの内容を切り取って貼り付けないでください。
  11. 圧縮してもログ ファイルのサイズがまだ大きすぎる場合、BEA カスタマ サポート FTP サイトを使用できます。

Linux 上で JRockit スレッド ダンプを取得する

Linux で JRockit JVM を使用する場合は、以下のいずれかの方法でスレッド ダンプを生成します。

ガベージ コレクションのチェック

クラスタで問題が発生している場合、管理対象サーバ上でガベージ コレクションをチェックすることもお勧めします。ガベージ コレクションに時間がかかりすぎる場合、サーバが使用可能であることを他のクラスタ メンバーに通知する定期的なハートビート シグナルをサーバから出すことができなくなります。

ガベージ コレクション (最初または 2 番目の世代) が 10 秒以上かかる場合、システム上のヒープ割り当て (msmx パラメータ) を調整する必要があります。

utils.MulticastTest の実行

マルチキャストが機能しているかどうかは、管理対象サーバの 1 つから utils.MulticastTest を実行することで検証できます。『WebLogic Server コマンド リファレンス』の「WebLogic Server Java ユーティリティの使い方」を参照してください。

マルチキャストの実行に問題がある場合は、「マルチキャストのデバッグ」を参照してください。

クラスタ内のマルチキャストに関するトラブルシューティングの詳細については、「マルチキャスト コンフィグレーションのトラブルシューティング」を参照してください。


ページの先頭       前  次