Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
第8章 ドメイン管理
本項では、管理対象ドメインの操作モードに固有する概念や設定について説明します。
管理対象ドメインのセキュア化については、JBoss EAP How to Configure Server Security の Securing a Managed Domain の項を参照してください。
8.1. 管理対象ドメイン
管理対象ドメインの操作モードを使用すると、単一の制御ポイントから複数の JBoss EAP インスタンスを管理できます。
一元管理された複数の JBoss EAP サーバーは、ドメインのメンバーと呼ばれます。ドメインの JBoss EAP インスタンスは共通の管理ポリシーを共有します。
各ドメインは 1 つのドメインコントローラー、1 つ以上のホストコントローラー、およびホスト毎に 0 個以上のサーバーグループによって構成されます。
ドメインコントローラーは、ドメインが制御される中心点であり、各サーバーはドメインの管理ポリシーに従って設定されます。ドメインコントローラーはホストコントローラーでもあります。
ホストコントローラーはドメインコントローラーと対話して、ホスト上で実行されているアプリケーションサーバーインスタンスのライフサイクルを制御し、ドメインコントローラーがこれらのインスタンスを管理できるようにします。各ホストに複数のサーバーグループが含まれるようにすることが可能です。
サーバーグループは、JBoss EAP がインストールされているサーバーインスタンスの集まりで、すべてが 1 つとして管理および設定されます。ドメインコントローラーはサーバーグループにデプロイされたアプリケーションとその設定を管理します。そのため、サーバーグループの各サーバーは同じ設定とデプロイメントを共有します。
ホストコントローラーは特定の物理 (または仮想) ホストに割り当てられます。異なる設定を使用する場合は、同じハードウェア上で複数のホストコントローラーを実行でき、ポートとその他のリソースが競合しないようにします。1 つのドメインコントローラー、1 つのホストコントローラー、および複数のサーバーを、同じ物理システムの同じ JBoss EAP インスタンス内で実行することができます。
8.1.1. ドメインコントローラー
ドメインコントローラーは、ドメインの集中管理点として動作する JBoss EAP サーバーインスタンスです。1 つのホストコントローラーインスタンスがドメインコントローラーとして動作するよう設定されます。
ドメインコントローラーの主な役割は次のとおりです。
- ドメインの集中管理ポリシーを維持する。
- すべてのホストコントローラーが現在のコンテンツを認識するようにする。
- 実行中のすべての JBoss EAP サーバーインスタンスがこのポリシーに従って設定されるよう、ホストコントローラーをサポートする。
デフォルトでは、集中管理ポリシーは EAP_HOME/domain/configuration/domain.xml
ファイルに格納されます。このファイルは、ドメインコントローラーとして実行するよう設定されたホストコントローラーのこのディレクトリーに必要です。
domain.xml
ファイルには、ドメインのサーバーに適用できるプロファイル設定が含まれています。プロファイルには、そのプロファイルで使用できるさまざまなサブシステムの詳細設定が含まれています。ドメイン設定には、ソケットグループの定義とサーバーグループの定義も含まれます。
JBoss EAP 7 ドメインコントローラーは、JBoss EAP 6.2 以上を実行している JBoss EAP 6 ホストおよびサーバーを管理できます。
詳細は 管理対象ドメインの起動およびドメインコントローラーの設定の項を参照してください。
8.1.2. ホストコントローラー
ホストコントローラーの主な役割はサーバーを管理することです。ドメイン管理タスクを委譲し、ホスト上で実行される個別のアプリケーションサーバープロセスを開始および停止します。
ホストコントローラーはドメインコントローラーと対話し、サーバーとドメインコントローラー間の通信を管理できるようにします。ドメインの複数のホストコントローラーは 1 つのドメインコントローラーのみと対話できます。そのため、単一のドメインモード上で実行されるホストコントローラーおよびサーバーインスタンスはすべて単一のドメインコントローラーを持ち、同じドメインに属する必要があります。
デフォルトでは、各ホストコントローラーは EAP_HOME/domain/configuration/host.xml
ファイルから設定を読み取ります。このファイルは、ホストのファイルシステム上にある未展開の JBoss EAP インストールファイルに存在します。host.xml
ファイルには、特定のホストに固有する以下の設定情報が含まれています。
- このインストールから実行されるサーバーインスタンスの名前。
-
ローカルの物理インストールに固有する設定。たとえば、
domain.xml
に宣言された名前付きインターフェースの定義はhost.xml
にある実際のマシン固有の IP アドレスへマップできます。さらに、domain.xml の抽象パス名をhost.xml
のファイルシステムパスへマップできます。 次の設定のいずれか。
- ホストコントローラーがドメインコントローラーへ通知して、ホストコントローラー自体を登録し、ドメイン設定へアクセスする方法。
- リモートドメインコントローラーの検索および通知方法。
- ホストコントローラーがドメインコントローラーとして動作するかどうか。
詳細は 管理対象ドメインの起動およびホストコントローラーの設定の項を参照してください。
8.1.3. プロセスコントローラー
プロセスコントローラーは小型のライトウェイトなプロセスで、ホストコントローラープロセスを起動し、そのライフサイクルを監視します。ホストコントローラーがクラッシュすると、プロセスコントローラーによって再起動されます。さらに、ホストコントローラーの指示に従ってサーバープロセスを開始しますが、クラッシュしたサーバープロセスは自動的に再起動しません。
プロセスコントローラーのログは EAP_HOME/domain/log/process-controller.log
ファイルに記録されます。プロセスコントローラーの JVM オプションは、PROCESS_CONTROLLER_JAVA_OPTS
変数を使用して EAP_HOME/bin/domain.conf
ファイルに設定します。
8.1.4. サーバーグループ
サーバーグループとは、1 つのグループとして管理および設定される複数のサーバーインスタンスのことです。管理対象ドメインでは、各アプリケーションサーバーインスタンスは唯一のメンバーである場合でも 1 つのサーバーグループに属します。グループのサーバーインスタンスは同じプロファイル設定とデプロイされた内容を共有します。
ドメインコントローラーとホストコントローラーは、ドメインにある各サーバーグループのすべてのインスタンスに標準設定を強制します。
ドメインは複数のサーバーグループで構成されます。異なるサーバーグループを異なるプロファイルやデプロイメントで設定できます。たとえば、ドメインは異なるサービスを提供する異なるサーバー層で設定できます。
異なるサーバーグループが同じプロファイルやデプロイメントを持つこともできます。これにより、最初のサーバーグループでアプリケーションがアップグレードされた後に 2 つ目のサーバーグループでアプリケーションがアップデートされるアプリケーションのローリングアップグレードが可能になり、サービスの完全停止を防ぎます。
詳細は、サーバーグループの設定の項を参照してください。
8.1.5. サーバー
サーバーはアプリケーションサーバーインスタンスを表します。管理対象ドメインでは、すべてのサーバーインスタンスがサーバーグループのメンバーになります。ホストコントローラーは各サーバーインスタンスを独自の JVM プロセスで起動します。
詳細は サーバーの設定の項を参照してください。
8.2. ドメイン設定のナビゲート
JBoss EAP は、規模の小さい管理対象ドメインと規模の大きい管理対象ドメインの両方をサポートするスケーラブルな管理インターフェースを提供します。
管理コンソール
JBoss EAP 管理コンソールは、ドメインのグラフィカルビューを提供し、ドメインのホスト、サーバー、デプロイメント、およびプロファイルの管理を容易にします。
- Configuration (設定)
Configuration タブからドメインで使用される各プロファイルのサブシステムを設定できます。必要な機能に応じて、メインの異なるサーバーグループが異なるプロファイルを使用することがあります。
希望のプロファイルを選択すると、そのプロファイルで利用できるサブシステムがすべて表示されます。プロファイルの設定に関する詳細は JBoss EAP プロファイルの管理を参照してください。
- Runtime (ランタイム)
Runtime タブから、サーバー、サーバーグループ、およびホストの設定を管理できます。ホストまたはサーバーグループごとにドメインを閲覧できます。
Hosts から、ホストプロパティーと JVM を設定でき、そのホストのサーバーを追加および設定することもできます。
Server Groups から、新しいサーバーグループを追加でき、プロパティーや JVM を設定できます。また、そのサーバーグループにサーバーを追加および設定することもできます。選択したサーバーグループの全サーバーの起動、停止、一時停止、およびリロードなど、操作を実行できます。
Hosts または Server Groups から、新しいサーバーを追加でき、サーバープロパティーや JVM を設定できます。選択したサーバーの起動、停止、一時停止、およびリーロードなどの操作を実行できます。また、JVM の使用率、サーバーログ、サブシステム固有の情報など、ランタイム情報を表示することもできます。
- Deployments (デプロイメント)
Deployments タブから、デプロイメントをサーバーグループに追加および割り当てすることができます。コンテンツリポジトリーのデプロイメントや、未割り当てのデプロイメントをすべて表示でき、特定のサーバーグループに割り当てられたデプロイメントを表示することもできます。
管理コンソールを使用したアプリケーションのデプロイに関する詳細は、管理対象ドメインでのアプリケーションのデプロイを参照してください。
管理 CLI
JBoss EAP 管理 CLI は、ドメインのホスト、サーバー、デプロイメントおよびプロファイルを管理するコマンドラインインターフェースを提供します。
適切なプロファイルを選択するとサブシステムの設定にアクセスできます。
/profile=PROFILE_NAME/subsystem=SUBSYSTEM_NAME:read-resource(recursive=true)
本ガイドの手順や例では、スタンドアロンサーバーとして稼働している場合に適用されるサブシステム設定の管理 CLI コマンドが含まれている可能性があります。例を以下に示します。
/subsystem=datasources/data-source=ExampleDS:read-resource
管理対象ドメインで実行するために管理 CLI コマンドを調整するには、設定するプロファイルを指定する必要があります。例を以下に示します。
/profile=default/subsystem=datasources/data-source=ExampleDS:read-resource
適切なホストの指定後、ホストを設定し、そのホストのサーバーで操作を実行することができます。
/host=HOST_NAME/server=SERVER_NAME:read-resource
適切なホストの指定後、そのホストのサーバーを設定できます。
/host=HOST_NAME/server-config=SERVER_NAME:write-attribute(name=ATTRIBUTE_NAME,value=VALUE)
適切なサーバーグループの指定後、サーバーグループを設定し、選択したサーバーグループのすべてのサーバーで操作を実行することができます。
/server-group=SERVER_GROUP_NAME:read-resource
deploy
管理 CLI コマンドを使用し、適切なサーバーグループを指定すると、管理対象ドメインでアプリケーションをデプロイできます。手順は、管理対象ドメインでのアプリケーションのデプロイを参照してください。
8.3. 管理対象ドメインの起動
8.3.1. 管理対象ドメインの起動
ドメインおよびホストコントローラーは、JBoss EAP に同梱される domain.sh
または domain.bat
スクリプトを使用して起動できます。使用できる起動スクリプトの引数の完全リストとそれら引数の目的については、--help
引数を使用するか、サーバーランタイム引数を参照してください。
ドメイン内のサーバーグループのスレーブサーバーを起動する前にドメインコントローラーを起動する必要があります。最初にドメインコントローラーを起動した後、ドメイン内の関連する他のホストコントローラーを起動します。
ドメインコントローラーの起動
専用のドメインコントローラー向けに事前設定された host-master.xml
設定ファイルを使用してドメインコントローラーを起動します。
$ EAP_HOME/bin/domain.sh --host-config=host-master.xml
ドメインの設定に応じて、ホストコントローラーの接続を可能にするために設定を追加する必要があります。また、以下のドメイン設定例を参照してください。
ホストコントローラーの起動
スレーブホストコントローラー向けに事前設定された host-slave.xml
設定ファイルを使用してホストコントローラーを起動します。
$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml
ドメインの設定に応じて、ドメインコントローラーへ接続し、ドメインコントローラーとの競合を回避するために設定を追加する必要があります。また、以下のドメイン設定例を参照してください。
8.3.2. ドメインコントローラーの設定
ドメインコントローラーとして動作するホストの設定
<domain-controller>
宣言に <local/>
要素が含まれると、そのホストがドメインコントローラーとして指名されます。
<domain-controller> <local/> </domain-controller>
ドメインコントローラーとして動作するホストは、ドメインの他のホストがアクセスできる管理インターフェースを公開する必要があります。HTTP(S) 管理インターフェースを公開する必要はありませんが、管理コンソールへのアクセスを可能にするため、HTTP(S) 管理インターフェースを公開することが推奨されます。
<management-interfaces> <native-interface security-realm="ManagementRealm"> <socket interface="management" port="${jboss.management.native.port:9999}"/> </native-interface> <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true"> <socket interface="management" port="${jboss.management.http.port:9990}"/> </http-interface> </management-interfaces>
EAP_HOME/domain/configuration/host-master.xml
ファイルには、ドメインコントローラーとして動作するための設定が事前設定されています。
8.3.3. ホストコントローラーの設定
ドメインコントローラーへの接続
ホストコントローラー自体をドメインに登録するため、ホストコントローラーがドメインコントローラーに接続する方法を指定する必要があります。これは <domain-controller>
要素に設定されます。
<domain-controller> <remote security-realm="ManagementRealm"> <discovery-options> <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}"/> </discovery-options> </remote> </domain-controller>
EAP_HOME/domain/configuration/host-slave.xml
ファイルには、ドメインコントローラーに接続するための設定が事前設定されています。ホストコントローラーの起動時に jboss.domain.master.address
プロパティーを提供する必要があります。
$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=IP_ADDRESS
ドメインコントローラーの検出に関する詳細は、 ドメインコントローラーの検出およびフェイルオーバーの項を参照してください。
ドメインの設定によっては、認証を提供して、ホストコントローラーがドメインコントローラーによって認証されるようにする必要がある場合があります。管理ユーザーと秘密の値の生成や、その値を用いたホストコントローラー設定の更新に関する詳細は、2 台のマシンで管理対象ドメインを設定を参照してください。
8.3.3.1. ホスト名の設定
管理対象ドメインで実行されている各ホストには一意な名前を付ける必要があります。管理を容易にし、複数のホストで同じホスト設定ファイルを使用できるようにするために、以下の優先順位を用いてホスト名が決定されます。
-
設定されている場合、
host.xml
設定ファイルのホスト要素名属性。 -
jboss.host.name
システムプロパティーの値。 -
jboss.qualified.host.name
システムプロパティーの最後のピリオド (.
) の後に続く値。最後のピリオド (.
) がない場合は全体の値。 -
POSIX ベースのオペレーティングシステムでは、
HOSTNAME
環境変数のピリオド (.
) の後に続く値。Microsoft Windows ではCOMPUTERNAME
環境変数のピリオド (.
) の後に続く値。最後のピリオドがない場合は、全体の値。
関連する host.xml
設定ファイルの上部にある host
要素に設定されたホストコントローラーの名前。例は次のとおり。
<host xmlns="urn:jboss:domain:4.0" name="host1">
以下の手順に従って、管理 CLI を使用してホスト名を更新します。
JBoss EAP ホストコントローラーを起動します。
$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml
管理 CLI を起動し、ドメインコントローラーに接続します。
$ EAP_HOME/bin/jboss-cli.sh --connect --controller=DOMAIN_CONTROLLER_IP_ADDRESS
以下のコマンドを実行して新しいホスト名を設定します。
/host=EXISTING_HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME)
これにより、
host-slave.xml
ファイルのホスト名属性が以下のように変更されます。<host name="NEW_HOST_NAME" xmlns="urn:jboss:domain:4.0">
変更を反映するためにホストコントローラーをリロードします。
reload --host=EXISTING_HOST_NAME
ホストコントローラーの名前が設定ファイルに設定されていない場合は、起動時にホスト名を渡すこともできます。
$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.host.name=HOST_NAME
8.3.4. ドメインコントローラーの検出およびフェイルオーバー
管理対象ドメインの設定時、ドメインコントローラーに接続するために必要な情報を使用して各ホストコントローラーを設定する必要があります。JBoss EAP では、ドメインコントローラーを検索する複数のオプションを使用して各ホストコントローラーを設定できます。ホストコントローラーは、適切なオプションが見つかるまでオプションのリストを繰り返し処理します。
これにより、バックアップドメインコントローラーのコンタクト情報を用いてホストコントローラーを事前設定できます。プライマリードメインコントローラーに問題がある場合は、バックアップホストコントローラーをマスターに昇格でき、昇格後にホストコントローラーを新しいマスターへ自動的にフェイルオーバーできます。
以下は、ドメインコントローラー検索の複数のオプションを持つホストコントローラーを設定する方法の例になります。
例: 複数のドメインコントローラーオプションを持つホストコントローラー
<domain-controller> <remote security-realm="ManagementRealm"> <discovery-options> <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="172.16.81.100" port="${jboss.domain.master.port:9999}"/> <static-discovery name="backup" protocol="${jboss.domain.master.protocol:remote}" host="172.16.81.101" port="${jboss.domain.master.port:9999}"/> </discovery-options> </remote> </domain-controller>
静的検出オプションには、以下の必須属性が含まれます。
- name
- このドメインコントローラー検出オプションの名前。
- host
- リモートドメインコントローラーのホスト名。
- port
- リモートドメインコントローラーのポート。
上記の例では、最初の検出オプションが指定されることが予想されます。2 つ目のオプションはフフェイルオーバーの状況で使用される可能性があります。
プライマリードメインコントローラーで問題が発生した場合、--backup
オプションで開始されたホストコントローラーをドメインコントローラーに昇格することができます。
--backup
オプションでホストコントローラーを開始すると、コントローラーによってドメイン設定のローカルコピーが維持されます。この設定は、ホストコントローラーがドメインコントローラーとして動作するよう再設定された場合に使用されます。
ホストコントローラーをドメインコントローラーに昇格
- 元のドメインコントローラーが停止した状態であることを確認します。
- 管理 CLI を使用して、新しいドメインコントローラーとなるホストコントローラーへ接続します。
以下のコマンドを実行してホストコントローラーを設定し、新しいドメインコントローラーとして動作するようにします。
/host=HOST_NAME:write-local-domain-controller
以下のコマンドを実行し、ホストコントローラーをリロードします。
reload --host=HOST_NAME
このホストコントローラーがドメインコントローラーとして動作するようになります。
8.4. サーバーの管理
8.4.1. サーバーグループの設定
以下はサーバーグループ定義の例になります。
<server-group name="main-server-group" profile="full"> <jvm name="default"> <heap size="64m" max-size="512m"/> </jvm> <socket-binding-group ref="full-sockets"/> <deployments> <deployment name="test-application.war" runtime-name="test-application.war"/> <deployment name="jboss-helloworld.war" runtime-name="jboss-helloworld.war" enabled="false"/> </deployments> </server-group>
サーバーグループの設定は、管理 CLI を使用するか、管理コンソールの Runtime タブから行います。
サーバーグループの追加
以下の管理 CLI コマンドを実行すると、サーバーグループを追加できます。
/server-group=SERVER_GROUP_NAME:add(profile=PROFILE_NAME,socket-binding-group=SOCKET_BINDING_GROUP_NAME)
サーバーグループの更新
以下の管理 CLI コマンドを実行すると、サーバーグループ属性を更新できます。
/server-group=SERVER_GROUP_NAME:write-attribute(name=ATTRIBUTE_NAME,value=VALUE)
サーバーグループの削除
以下の管理 CLI コマンドを実行すると、サーバーグループを削除できます。
/server-group=SERVER_GROUP_NAME:remove
サーバーグループ属性
サーバーグループには次の属性が必要です。
-
name
: サーバーグループの名前。 -
profile
: サーバーグループプロファイル名。 -
socket-binding-group
: グループのサーバーに使用されるデフォルトのソケットバインディンググループ。サーバーごとに上書きできます。
サーバーグループに含まれる任意の属性は次のとおりです。
-
management-subsystem-endpoint
:remoting
サブシステムからエンドポイントを使用してサーバーグループに属するサーバーを再びホストコントローラーに接続するにはtrue
に設定します (これには、remoting
サブシステムが存在する必要があります)。 -
socket-binding-default-interface
: このサーバーのソケットバインディンググループのデフォルトインターフェース。 -
socket-binding-port-offset
: ソケットバインディンググループによって提供されたポート値に追加するデフォルトのオフセット。 -
deployments
: グループのサーバーにデプロイするデプロイメントコンテンツ。 -
jvm
: グループの全サーバーに対するデフォルトの JVM 設定。ホストコントローラーはこれらの設定をhost.xml
の他の設定とマージし、サーバーの JVM を開始するために使用される設定を作成します。 -
deployment-overlays
: 定義されたデプロイメントオーバーレイと、このサーバーグループのデプロイメントとの間をリンクします。 -
system-properties
: グループのサーバーに設定するシステムプロパティー。
8.4.2. サーバーの設定
デフォルトの host.xml
設定ファイルは 3 つのサーバーを定義します。
<servers> <server name="server-one" group="main-server-group"> </server> <server name="server-two" group="main-server-group" auto-start="true"> <socket-bindings port-offset="150"/> </server> <server name="server-three" group="other-server-group" auto-start="false"> <socket-bindings port-offset="250"/> </server> </servers>
server-one
という名前のサーバーインスタンスは main-server-group
に関連付けられ、そのサーバーグループによって指定されるサブシステム設定とソケットバインディングを継承します。server-two
という名前のサーバーインスタンスも main-server-group
に関連付けられていますが、server-one
によって使用されるポートの値と競合しないようにソケットバインディングの port-offset
の値も定義します。server-three
という名前のサーバーインスタンスは other-server-group
に関連付けられ、そのグループの設定を使用します。また、 port-offset
の値も定義し、ホストコントローラーの起動時にこのサーバーが起動しないように auto-start
を false
に設定します。
サーバーの設定は、管理 CLI を使用するか、管理コンソールの Runtime タブから行います。
サーバーの追加
以下の管理 CLI コマンドを実行すると、サーバーを追加できます。
/host=HOST_NAME/server-config=SERVER_NAME:add(group=SERVER_GROUP_NAME)
サーバーの更新
以下の管理 CLI コマンドを実行すると、サーバー属性を更新できます。
/host=HOST_NAME/server-config=SERVER_NAME:write-attribute(name=ATTRIBUTE_NAME,value=VALUE)
サーバーの削除
以下の管理 CLI コマンドを実行すると、サーバーを削除できます。
/host=HOST_NAME/server-config=SERVER_NAME:remove
サーバー属性
サーバーには以下の属性が必要です。
-
name
: サーバーの名前。 -
group
: ドメインモデルからのサーバーグループの名前。
サーバーには以下の任意の属性が含まれます。
-
auto-start
: ホストコントローラーの起動時にこのサーバーが起動されるかどうか。 -
socket-binding-group
: このサーバーが属するソケットバインディンググループ。 -
socket-binding-port-offset
: このサーバーのソケットバイディンググループによって提供されたポート値に追加されるオフセット。 -
update-auto-start-with-server-status
: サーバーの状態でauto-start
属性を更新します。 -
interface
: サーバーで使用できる完全に指定された名前付きのネットワークインターフェースのリスト。 -
jvm
: このサーバーの JVM 設定。宣言されていない場合、設定は親のサーバーグループまたはホストから継承されます。 -
path
: 名前付きのファイルシステムパスのリスト。 -
system-property
: このサーバーに設定するシステムプロパティーのリスト。
8.4.3. サーバーの起動と停止
管理コンソールから起動、停止、リロードなどの操作をサーバーで実行するには、Runtime タブに移動して適切なホストまたはサーバーグループを選択します。
管理 CLI を使用してこれらの操作を実行する場合は以下のコマンドを参照してください。
サーバーの起動
特定のホストで 1 台のサーバーを起動できます。
/host=HOST_NAME/server-config=SERVER_NAME:start
指定のサーバーグループのサーバーをすべて起動できます。
/server-group=SERVER_GROUP_NAME:start-servers
サーバーの停止
特定のホストで 1 台のサーバーを停止できます。
/host=HOST_NAME/server-config=SERVER_NAME:stop
指定のサーバーグループのサーバーをすべて停止できます。
/server-group=SERVER_GROUP_NAME:stop-servers
サーバーのリロード
特定のホストで 1 台のサーバーをリロードできます。
/host=HOST_NAME/server-config=SERVER_NAME:reload
指定のサーバーグループのサーバーをすべてリロードできます。
/server-group=SERVER_GROUP_NAME:reload-servers
8.5. 管理対象ドメインの設定
8.5.1. 1 台のマシンで管理対象ドメインを設定
jboss.domain.base.dir
プロパティーを使用すると 1台のマシンで複数のホストコントローラーを実行できます。
ドメインコントローラーの
EAP_HOME/domain
ディレクトリーをコピーします。$ cp -r EAP_HOME/domain /path/to/domain1
ホストコントローラーの
EAP_HOME/domain
ディレクトリーをコピーします。$ cp -r EAP_HOME/domain /path/to/host1
/path/to/domain1
を使用してドメインコントローラーを起動します。$ EAP_HOME/bin/domain.sh --host-config=host-master.xml -Djboss.domain.base.dir=/path/to/domain1
/path/to/host1
を使用してホストコントローラーを起動します。$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.base.dir=/path/to/host1 -Djboss.domain.master.address=IP_ADDRESS -Djboss.management.native.port=PORT
注記ホストコントローラーの起動時に、
jboss.domain.master.address
プロパティーを使用してドメインコントローラーのアドレスを指定する必要があります。さらに、このホストコントローラーはドメインコントローラーと同じマシンで実行されているため、ドメインコントローラーの管理インターフェースと競合しないように管理インターフェースを変更する必要があります。このコマンドは
jboss.management.native.port
プロパティーを設定します。
このように起動された各インスタンスは、ベースインストールディレクトリー (例: EAP_HOME/modules/
) のその他のリソースを共有しますが、jboss.domain.base.dir
によって指定されたディレクトリーからドメイン設定を使用します。
8.5.2. 2 台のマシンで管理対象ドメインを設定
この例の実行には、ファイアウォールの設定が必要になることがあります。
1 台がドメインコントローラーでもう 1 台がホストである 2 台のマシンで管理対象ドメインを作成できます。詳細は、ドメインコントローラーを参照してください。
-
IP1
= ドメインコントローラーの IP アドレス (マシン 1) -
IP2
= ホストの IP アドレス (マシン 2)
2 台のマシンで管理対象ドメインを作成
マシン 1 での作業
ホストがドメインコントローラーによって認証されるよう、管理ユーザーを追加します。
add-user.sh
スクリプトを使用してホストコントローラー (HOST_NAME
) の管理ユーザーを追加します。最後の質問でyes
を指定し、提供される秘密の値 (<secret value="SECRET_VALUE" />
) を書き留めておきます。この秘密の値はホストコントローラーの設定で使用します。ドメインコントローラーを起動します。
専用のドメインコントローラー用に事前設定された
host-master.xml
設定ファイルを指定します。さらに、jboss.bind.address.management
プロパティーを設定し、ドメインコントローラーが他のマシンにも表示されるようにします。$ EAP_HOME/bin/domain.sh --host-config=host-master.xml -Djboss.bind.address.management=IP1
マシン 2 での作業
ユーザークレデンシャルでホスト設定を更新します。
EAP_HOME/domain/configuration/host-slave.xml
を編集し、ホスト名 (HOST_NAME
) と秘密の値 (SECRET_VALUE
) を設定します。<host xmlns="urn:jboss:domain:1.6" name="HOST_NAME"> <management> <security-realms> <security-realm name="ManagementRealm"> <server-identities> <secret value="SECRET_VALUE" /> </server-identities> ...
ホストコントローラーを起動します。
スレーブホストコントローラー用に事前設定された
host-slave.xml
設定ファイルを指定します。さらに、jboss.domain.master.address
プロパティーを設定してドメインコントローラーに接続し、jboss.bind.address
プロパティーを設定してホストコントローラーバインドアドレスを設定します。$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=IP1 -Djboss.bind.address=IP2
起動時に --controller
パラメーターを使用してドメインコントローラーアドレスを指定し、管理 CLI からドメインを管理できるようになります。
$ EAP_HOME/bin/jboss-cli.sh --connect --controller=IP1
また、http://IP1:9990
で管理コンソールからドメインを管理することもできます。
8.6. JBoss EAP プロファイルの管理
8.6.1. プロファイル
JBoss EAP は、プロファイルを使用してサーバーが使用できるサブシステムを整理します。プロファイルは、利用可能なサブシステムと各サブシステムの特定の設定で構成されます。プロファイルのサブシステムの数が多いと、サーバーの機能が多くなります。プロファイルのサブシステムが集中的で数が少ないと、機能が少なくなりますが、フットプリントも少なくなります。
JBoss EAP comes with four predefined profiles that should satisfy most use cases:
- default
-
logging
、security
、datasources
、infinispan
、webservices
、ee
、ejb3
、transactions
など、一般的に使用されるサブシステムが含まれます。 - ha
-
default プロファイルで提供されるサブシステムと、高可用性向けの
jgroups
およびmodcluster
サブシステムが含まれます。 - full
-
default プロファイルで提供されるサブシステムと、
messaging-activemq
およびiiop-openjdk
サブシステムが含まれます。 - full-ha
-
full プロファイルで提供されるサブシステムと、高可用性向けの
jgroups
およびmodcluster
サブシステムが含まれます。
JBoss EAP は、既存プロファイルの設定からサブシステムを削除して、エクステンションを無効にしたり、ドライバーやその他のサービスを手作業でアンロードしたりする機能を提供しますが、ほとんどの場合でこれは必要ありません。JBoss EAP は必要時にサブシステムを動的にロードするため、サーバーまたはアプリケーションがサブシステムを使用しないと、そのサブシステムはロードされません。
既存のプロファイルが必要な機能を提供しない場合、JBoss EAP はカスタムプロファイルを定義する機能も提供します。
8.6.2. プロファイルのクローン
JBoss EAP では、既存のプロファイルをクローンして管理対象ドメインで新しいプロファイルを作成することができます。クローンした既存プロファイルの設定およびサブシステムのコピーが作成されます。
管理 CLI を使用してプロファイルをクローンするには、クローンするプロファイルに clone
操作を実行します。
/profile=full-ha:clone(to-profile=cloned-profile)
管理コンソールからプロファイルをクローンするには、クローンするプロファイルを選択し、Clone をクリックします。
8.6.3. 階層的なプロファイルの作成
管理対象ドメインでは、プロファイルの階層を作成できます。これにより、他のプロファイルが継承できる共通のエクステンションが含まれるベースプロファイルを作成できます。
管理対象ドメインは domain.xml
の複数のプロファイルを定義します。複数のプロファイルが特定のサブシステムで同じ設定を使用する場合、複数のプロファイルで設定せずに、1 つのプロファイルで設定を行うことができます。親プロファイルの値はオーバーライドできません。
管理 CLI を使用して list-add
操作を実行し、含めるプロファイルを指定すると、プロファイルに階層の別のプロファイルを含めることができます。
/profile=new-profile:list-add(name=includes, value=PROFILE_NAME)