第2章 アプリケーションサーバー管理
2.1. JBoss EAP 6 の起動および停止
2.1.1. JBoss EAP 6 の起動
2.1.2. JBoss EAP 6 をスタンドアロンサーバーとして起動
ここでは、JBoss EAP 6 をスタンドアロンサーバーとして起動する手順を説明します。
手順2.1 プラットフォームサービスをスタンドアロンサーバーとして起動
Red Hat Enterprise Linux の場合
次のコマンドを実行します:EAP_HOME/bin/standalone.shMicrosoft Windows Server の場合
次のコマンドを実行します:EAP_HOME\bin\standalone.bat他のパラメーターを指定する (任意)
起動スクリプトに渡すことができる他のパラメーターの一覧を出力するには、-hパラメーターを使います。
JBoss EAP 6 スタンドアロンサーバーインスタンスが起動します。
2.1.3. JBoss EAP 6 を管理対象ドメインとして起動
ドメイン内のサーバーグループのスレーブサーバーを起動する前にドメインコントローラーを起動する必要があります。最初に、この手順をドメインコントローラーで使用した後に、関連するホストコントローラーおよびドメインに関連する他のホストに対して使用してください。
手順2.2 プラットフォームサービスを管理対象ドメインとして起動
Red Hat Enterprise Linux の場合
コマンドEAP_HOME/bin/domain.shを実行します。Microsoft Windows Server の場合
コマンドEAP_HOME\bin\domain.batを実行します。他のパラメーターを起動スクリプトに渡す (任意)
起動スクリプトに渡すことができる各種パラメーターを確認するには、-hパラメーターを使います。
JBoss EAP 6 管理対象ドメインインスタンスが起動します。
2.1.4. 管理対象ドメインのホストの名前設定
管理対象ドメインで実行されている各ホストには一意な名前を付ける必要があります。管理を容易にし、複数のホストで同じホスト設定ファイルを使用できるようにするために、以下の優先順位を用いてホスト名が決定されます。
host.xml設定ファイルにあるhost要素のname属性 (設定されている場合)。jboss.host.nameシステムプロパティーの値。jboss.qualified.host.nameシステムプロパティーの最後のピリオド (.) の後に続く値、または最後のピリオドがない場合は全体の値。- POSIX ベースのオペレーティングシステムでは、
HOSTNAME環境変数のピリオド (.) の後に続く値。Microsoft Windows ではCOMPUTERNAME環境変数のピリオドの後に続く値。最後のピリオドがない場合は、全体の値。
手順2.3 システムプロパティーを用いたホスト名の設定
- 編集するホスト設定ファイル (例:
host.xml) を開きます。 - ファイルにある
host要素を見つけます。以下に例を示します。<host name="master" xmlns="urn:jboss:domain:1.6">
- この要素が存在する場合は、
属性宣言を削除します。削除後、name="HOST_NAME"host要素は以下のようになるはずです。<host xmlns="urn:jboss:domain:1.6">
- 以下の例のように、
-Djboss.host.name引数を渡してサーバーを起動します。-Djboss.host.name=HOST_NAME
手順2.4 特定の名前を用いたホスト名の設定
- 以下の構文を使用して、JBoss EAP スレーブホストを起動します。
例を以下に示します。bin/domain.sh --host-config=HOST_FILE_NAMEbin/domain.sh --host-config=host-slave01.xml - 管理 CLI を起動します。
- 以下の構文を使用してホスト名を置き換えます。
例を以下に示します。/host=EXISTING_HOST_NAME:write-attribute(name="name",value=UNIQUE_HOST_NAME)
次の結果が表示されるはずです。/host=master:write-attribute(name="name",value="host-slave01")"outcome" => "success"
これは、host-slave01.xmlファイルのホストname属性を以下のように変更します。<host name="host-slave01" xmlns="urn:jboss:domain:1.6">
- この処理を完了するには、変更前のホスト名を使用してサーバー設定をリロードする必要があります。
例を以下に示します。reload --host=EXISTING_HOST_NAMEreload --host=master
2.1.5. 2 台のマシンでの管理対象ドメインの作成
注記
- IP1 = ドメインコントローラーの IP アドレス (マシン 1)
- IP2 = ホストの IP アドレス (マシン 2)
手順2.5 2 台のマシンで管理対象ドメインを作成
マシン 1 での作業
- ホストがドメインコントローラーを認証できるようにするために、add-user.sh スクリプトを使用して管理ユーザー (例:
slave01) を追加します。add-user出力のSECRET_VALUEに注意してください。 - 専用のドメインコントローラー向けに事前設定された
host-master.xml設定ファイルでドメインを起動します。 -bmanagement=$IP1を使用して、他のマシンがドメインコントローラーを見えるようにします。[$JBOSS_HOME/bin]$ ./domain.sh --host-config=host-master.xml -bmanagement=$IP1
マシン 2 での作業
- ユーザークレデンシャルを用いて
$JBOSS_HOME/domain/configuration/host-slave.xmlファイルを更新します。<?xml version='1.0' encoding='UTF-8'?> <host xmlns="urn:jboss:domain:1.6" name="slave01"> <!-- add user name here --> <management> <security-realms> <security-realm name="ManagementRealm"> <server-identities> <secret value="$SECRET_VALUE" /> <!-- use secret value from add-user.sh output--> </server-identities> ... - ホストを起動します。
[$JBOSS_HOME/bin]$ ./domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=$IP1 -b=$IP2
ドメインを管理します。
CLI を使用する場合:[$JBOSS_HOME/bin]$ ./jboss-cli.sh -c --controller=$IP1
Web コンソールを使用する場合:http://$IP1:9990
サーバーのインデックスページへアクセスします。http://$IP2:8080/ http://$IP2:8230/
2.1.6. 代替設定を用いた JBoss EAP 6 の起動
前提条件
- 代替の設定ファイルを使用する前に、デフォルト設定をテンプレートとして使用して、代替の設定ファイルを作成します。管理対象ドメインの場合は、設定ファイルを
EAP_HOME/domain/configuration/ディレクトリーに置く必要があります。スタンドアロンサーバーの場合は、設定ファイルをEAP_HOME/standalone/configuration/ディレクトリーに置く必要があります。
注記
EAP_HOME/docs/examples/configs/ ディレクトリーに複数の設定例が含まれています。これらの例を使用し、クラスタリングや Transaction XTS API などの追加機能を有効にします。
standalone-picketlink.xml、standalone-genericjms.xml、および standalone-hornetq-colocated.xml の設定ファイルを変更せずに使用するとエラーが発生します。
手順2.6 代替設定を用いたインスタンスの起動
スタンドアロンサーバー
スタンドアロンサーバーでは、--server-configパラメーターに設定ファイルのファイル名をオプションとして指定します。設定ファイルはEAP_HOME/standalone/configuration/ディレクトリーに置く必要があり、このディレクトリーからの相対パスで設定ファイルを指定する必要があります。例2.1 Red Hat Enterprise Linux のスタンドアロンサーバーに別の設定ファイルを使用
[user@host bin]$
./standalone.sh --server-config=standalone-alternate.xmlこの例は、EAP_HOME/standalone/configuration/standalone-alternate.xml設定ファイルを使用します。例2.2 Microsoft Windows Server のスタンドアロンサーバーに別の設定ファイルを使用
C:\EAP_HOME\bin>
standalone.bat --server-config=standalone-alternate.xmlこの例は、EAP_HOME\standalone\configuration\standalone-alternative.xml設定ファイルを使用します。管理対象ドメイン
管理対象ドメインでは、設定ファイルのファイル名を--domain-configパラメーターのオプションとして指定します。設定ファイルはEAP_HOME/domain/configuration/ディレクトリーに置く必要があり、このディレクトリーからの相対パスを指定する必要があります。例2.3 Red Hat Enterprise Linux の管理対象ドメインに別の設定ファイルを使用
[user@host bin]$
./domain.sh --domain-config=domain-alternate.xmlこの例は、EAP_HOME/domain/configuration/domain-alternate.xml設定ファイルを使用します。例2.4 Microsoft Windows Server の管理対象ドメインに別の設定ファイルを使用
C:\EAP_HOME\bin>
domain.bat --domain-config=domain-alternate.xmlこの例は、EAP_HOME\domain\configuration\domain-alternate.xml設定ファイルを使用します。
代替の設定ファイルを使用して JBoss EAP が起動されます。
2.1.7. JBoss EAP 6 の停止
注記
手順2.7 JBoss EAP 6 のインスタンスの停止
コマンドラインプロンプトから対話的に起動したインスタンスの停止
JBoss EAP 6 が実行されているターミナルで Ctrl-C を押します。
手順2.8 オペレーティングシステムサービスとして起動されたインスタンスの停止
オペレーティングシステムに応じて、以下のいずれかの手順を実行します。Red Hat Enterprise Linux
Red Hat Enterprise Linux でサービススクリプトを記述したときは、stop機能を使用します。これは、スクリプトに記述する必要があります。次に、service scriptname stopを使用できます。ここで scriptname はスクリプトの名前に置き換えます。Microsoft Windows Server
Microsoft Windows の場合は、net serviceコマンドを使用するか、コントロールパネルの サービス アプレットからサービスを停止します。
手順2.9 バックグラウンドで実行されているインスタンスの停止 (Red Hat Enterprise Linux)
- プロセスのプロセス ID (PID) を取得します。
単一のインスタンスのみが実行されている場合 (スタンドアロンモード)
以下のコマンドはいずれも JBoss EAP 6 の単一インスタンスの PID を返します。pidof javajps(jpsコマンドは、jboss-modules.jarと jps 自体の 2 つのプロセスに対する ID を返します。jboss-modules.jarの ID を使用して EAP インスタンスを停止します)。
複数の EAP インスタンスが実行されている場合 (ドメインモード)
複数の EAP インスタンスが実行されている場合、正しいプロセスを識別するには、さらに包括的なコマンドを使用する必要があります。- 詳細モードで
jpsコマンドを使用すると、見つかった java プロセスに関する詳細情報が提供されます。以下は、実行している EAP プロセスを PID およびロールで識別する、詳細なjpsコマンドからの出力の一部になります。$ jps -v 12155 jboss-modules.jar -D[Server:server-one] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1303m ... 12196 jboss-modules.jar -D[Server:server-two] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1303m ... 12096 jboss-modules.jar -D[Host Controller] -Xms64m -Xmx512m -XX:MaxPermSize=256m ... 11872 Main -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCodeCacheFlushing ... 11248 jboss-modules.jar -D[Standalone] -XX:+UseCompressedOops -verbose:gc ... 12892 Jps ... 12080 jboss-modules.jar -D[Process Controller] -Xms64m -Xmx512m -XX:MaxPermSize=256m ...
ps auxコマンドを使用して複数の EAP インスタンスの情報を返すこともできます。以下は、実行している EAP プロセスを PID およびロールで識別する、詳細なpsコマンドからの出力の一部になります。$ ps aux | grep java username 12080 0.1 0.9 3606588 36772 pts/0 Sl+ 10:09 0:01 /path/to/java -D[Process Controller] -server -Xms128m -Xmx128m -XX:MaxPermSize=256m ... username 12096 1.0 4.1 3741304 158452 pts/0 Sl+ 10:09 0:13 /path/to/java -D[Host Controller] -Xms128m -Xmx128m -XX:MaxPermSize=256m ... username 12155 1.7 8.9 4741800 344224 pts/0 Sl+ 10:09 0:22 /path/to/java -D[Server:server-one] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1000m -Xmx1000m -server - ... username 12196 1.8 9.4 4739612 364436 pts/0 Sl+ 10:09 0:22 /path/to/java -D[Server:server-two] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1000m -Xmx1000m -server ...
上記の例では、ドメイン全体を停止するには Process Controller プロセスを停止します。これらのコマンドにgrepユーティリティーを使用すると Process Controller を識別できます。jps -v | grep "Process Controller"ps aux | grep "Process Controller"
kill PIDを実行して、TERMシグナルをプロセスに送信します。PID は前述のコマンドの 1 つを使用して識別されたプロセス IDに置き換えます。
JBoss EAP 6 がクリーンにシャットダウンされ、データは失われません。
2.1.8. サーバー実行時に渡すスイッチと引数のリファレンス
standalone.xml、domain.xml、および host.xml の設定ファイルで定義されたものとは別の設定でサーバーを起動できます。これには、ソケットバインディングの代替セットや二次設定でのサーバーの起動が含まれることがあります。起動時にヘルプスイッチを渡すと、利用可能なこれらのパラメーターのリストを表示できます。
例2.5
-h または --help スイッチが追加で使用されています。help スイッチの結果は以下の表を参照してください。
[localhost bin]$ standalone.sh -h[localhost bin]$ domain.sh -h表2.1 実行時スイッチおよび引数
| 引数またはスイッチ | モード | 説明 |
|---|---|---|
--admin-only | Standalone | サーバーの実行タイプを ADMIN_ONLY に設定します。これにより管理インターフェースが開かれ、管理要求が許可されますが、他のランタイムサービスは起動されず、エンドユーザーの要求は許可されません。 |
--admin-only | Domain | ホストコントローラーの実行タイプを ADMIN_ONLY に設定します。これにより管理インターフェースが開かれ、管理要求が許可されますが、サーバーは起動しません。ホストコントローラーがドメインのマスターである場合はスレーブホストコントローラーからの受信接続が許可されます。 |
-b <value>、-b=<value> | Standalone、Domain | システムプロパティー jboss.bind.address を該当する値に設定します。 |
-b<interface>=<value> | Standalone、Domain | システムプロパティー jboss.bind.address.<interface> を指定の値に設定します。 |
--backup | Domain | このホストがドメインコントローラーではない場合でも永続ドメイン設定のコピーを保持します。 |
-c <config>、-c=<config> | Standalone | 使用するサーバー設定ファイルの名前。デフォルト値は standalone.xml です。 |
-c <config>、-c=<config> | Domain | 使用するサーバー設定ファイルの名前。デフォルト値は domain.xml です。 |
--cached-dc | Domain | ホストがドメインコントローラーではなく、起動時にドメインコントローラーに接続できない場合、ローカルでキャッシュされたドメイン設定のコピーを使用してブートします。 |
--debug [<port>] | Standalone | オプションの引数を用いてデバッグモードを有効にし、ポートを指定します。起動スクリプトがサポートする場合のみ動作します。 |
-D<name>[=<value>] | Standalone、Domain | システムプロパティーを設定します。 |
--domain-config=<config> | Domain | 使用するサーバー設定ファイルの名前。デフォルト値は domain.xml です。 |
-h、--help | Standalone、Domain | ヘルプメッセージを表示し、終了します。 |
--host-config=<config> | Domain | 使用するホスト設定ファイルの名前。デフォルト値は host.xml です。 |
--interprocess-hc-address=<address> | Domain | ホストコントローラーがプロセスコントローラーからの通信をリッスンしなければならないアドレス。 |
--interprocess-hc-port=<port> | Domain | ホストコントローラーがプロセスコントローラーからの通信をリッスンしなければならないポート。 |
--master-address=<address> | Domain | システムプロパティー jboss.domain.master.address を指定の値に設定します。デフォルトのスレーブホストコントローラーの設定では、マスターホストコントローラーのアドレスを設定するために使用されます。 |
--master-port=<port> | Domain | システムプロパティー jboss.domain.master.port を指定の値に設定します。デフォルトのスレーブホストコントローラーの設定では、マスターホストコントローラーによるネイティブ管理の通信で使用されるポートを設定するために使用されます。 |
--read-only-server-config=<config> | Standalone | 使用するサーバー設定ファイルの名前。元のファイルは上書きされないため、--server-config および -c とは異なります。 |
--read-only-domain-config=<config> | Domain | 使用するドメイン設定ファイルの名前。最初のファイルは上書きされないため、--domain-config および -c とは異なります。 |
--read-only-host-config=<config> | Domain | 使用するホスト設定ファイルの名前。最初のファイルは上書きされないため、--host-config とは異なります。 |
-P <url>、-P=<url>、--properties=<url> | Standalone、Domain | 該当する URL からシステムプロパティーをロードします。 |
--pc-address=<address> | Domain | プロセスコントローラーが制御するプロセスからの通信をリッスンするアドレス。 |
--pc-port=<port> | Domain | プロセスコントローラーが制御するプロセスからの通信をリッスンするポート。 |
-S<name>[=<value>] | Standalone | セキュリティープロパティーを設定します。 |
--server-config=<config> | Standalone | 使用するサーバー設定ファイルの名前。デフォルト値は standalone.xml です。 |
-u <value>、-u=<value> | Standalone、Domain | システムプロパティー jboss.default.multicast.address を指定の値に設定します。 |
-v、-V、--version | Standalone、Domain | アプリケーションサーバーのバージョンを表示し、終了します。 |