ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

4.7.4 複数のGlassFish Serverクラスターに同一アプリケーションを配備する方法

1つのWebサーバーに対して複数のGlassFish Serverクラスターが連携している場合、複数のGlassFish Serverクラスターに同じコンテキストルートのWebアプリケーションを配備することはできません。以下のいずれかの方法を実行することにより、同じコンテキストルートのWebアプリケーションを複数のGlassFish Serverクラスターに配備することができます。

複数GlassFish Serverクラスター間で負荷分散を行う場合

wscadminコマンドで設定します。

複数GlassFish Serverクラスター間で異なるURLを使用する場合

バーチャルホストを設定します。

wscadminコマンドで設定

wscadmin add-instance-refサブコマンド実行時に、--targetオプションに指定する値を複数のGlassFish Serverクラスターで同じにすることにより、複数のGlassFish Serverクラスターで負荷分散を行うことができます。

注意

wscadminコマンドは、通常GlassFish ServerクラスターとWebサーバーが異なるマシンにある場合に使用するコマンドです。そのため、WebサーバーとGlassFish Serverクラスターが同一マシンにある場合は、同一アプリケーションの負荷分散を行う用途以外では使用しないでください。

  1. GlassFish Serverクラスター、GlassFish Serverインスタンスの作成
    GlassFish ServerクラスターやGlassFish Serverインスタンスを未作成の場合、asadmin create-clusterサブコマンド、create-local-instanceサブコマンドで、GlassFish ServerクラスターおよびGlassFish Serverインスタンスを作成します。この際、負荷分散の対象数に応じてGlassFish Serverクラスターを複数作成します。

  2. WebサーバーとGlassFish Serverクラスターの連携を解除
    asadmin delete-web-server-refサブコマンドで、すべてのGlassFish ServerクラスターとWebサーバーの連携を解除します。GlassFish Serverクラスターと連携しているWebサーバーは、asadminコマンドのlist-web-server-refsサブコマンドで確認できます。

  3. GlassFish Serverクラスターへのアプリケーションの配備
    asadminコマンドのdeployサブコマンドで、各GlassFish Serverクラスターにアプリケーションを配備します。その際、以下となるようにしてください。

    • 「アプリケーション名」が重複しないように、各GlassFish Serverクラスターで名前を変更する。

    • 「コンテキストルート」は、すべてのGlassFish Serverクラスターで同じ値にする。

    GlassFish ServerクラスターCluster001、Cluster002にWebアプリケーションSampleAppr.warを配備する場合

    C:\Interstage\glassfish5\glassfish\bin\asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war
    C:\Interstage\glassfish5\glassfish\bin\asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target Cluster002 SampleAppr.war

    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war
    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target Cluster002 SampleAppr.war

  4. wscadminコマンドでWebサーバーとGlassFish Serverクラスターを連携
    Webサーバーの存在するマシンでwscadminコマンドのadd-instance-refサブコマンドを使用し、WebサーバーとGlassFish Serverクラスターを連携させます。このとき、オプションやオペランドには以下を指定するようにしてください。

    項目

    設定内容

    --target

    負荷分散対象を識別する任意の名前

    --identifier

    GlassFish Serverインスタンス名

    --webserver

    設定対象のWebサーバー名

    オペランド

    GlassFish ServerインスタンスのHTTPリスナーのネットワークアドレスとポート番号を(IPアドレス):(ポート番号)の形式で指定

    WebサーバーとGlassFish Serverクラスターを同じマシンで運用する場合は、IPアドレスに127.0.0.1を指定

    連携させるWebサーバーFJapacheGlassFish Serverクラスター(Cluster001)のGlassFish Serverインスタンス(Cluster001-1)リスナーポートが28798GlassFish Serverクラスター(Cluster002)のGlassFish Serverインスタンス(Cluster002-1)リスナーポートが28799、IPアドレスが127.0.0.1の場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-instance-ref --webserver FJapache --identifier Cluster001-1 --target Cluster001_002 127.0.0.1:28798
    C:\Interstage\F3FMwsc\bin\wscadmin add-instance-ref --webserver FJapache --identifier Cluster002-1 --target Cluster001_002 127.0.0.1:28799

    /opt/FJSVwsc/bin/wscadmin add-instance-ref --webserver FJapache --identifier Cluster001-1 --target Cluster001_002 127.0.0.1:28798
    /opt/FJSVwsc/bin/wscadmin add-instance-ref --webserver FJapache --identifier Cluster002-1 --target Cluster001_002 127.0.0.1:28799

    add-instance-refサブコマンドで指定するGlassFish Serverインスタンスのリスナーポートは、以下を実行することにより確認できます。

    asadminコマンドのlist-instancesサブコマンドを使用し、GlassFish Serverインスタンスの一覧を取得します。

    GlassFish ServerクラスターCluster001の場合

    C:\Interstage\glassfish5\glassfish\bin\asadmin list-instances Cluster001

    Cluster001-1 not running

    Command list-instances executed successfully.

    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin list-instances Cluster001

    Cluster001-1 not running

    Command list-instances executed successfully.

    各GlassFish Serverインスタンスに対して、asadminコマンドのgetサブコマンドでHTTP_LISTENER_PORTシステムプロパティのvalueを確認します。

    GlassFish ServerインスタンスCluster001-1のHTTP_LISTENER_PORTを確認する場合

    C:\Interstage\glassfish5\glassfish\bin\asadmin get Cluster001-1.system-property.HTTP_LISTENER_PORT

    Cluster001-1.system-property.HTTP_LISTENER_PORT.name=HTTP_LISTENER_PORT

    Cluster001-1.system-property.HTTP_LISTENER_PORT.value=28798

    Command get executed successfully.

    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin get Cluster001-1.system-property.HTTP_LISTENER_PORT

    Cluster001-1.system-property.HTTP_LISTENER_PORT.name=HTTP_LISTENER_PORT

    Cluster001-1.system-property.HTTP_LISTENER_PORT.value=28798

    Command get executed successfully.

  5. wscadminコマンドでWebアプリケーションを振り分け対象にする
    Webサーバーの存在するマシンでwscadminコマンドのadd-application-refサブコマンドを使用し、配備したWebアプリケーションを、Webサーバーコネクタの振り分け対象に設定します。

    連携させるWebサーバー名がFJapache、wscadmin add-instance-ref--targetで指定した値がCluster001_002、WebアプリケーションのコンテキストルートがSampleApprの場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target Cluster001_002 SampleAppr

    /opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target Cluster001_002 SampleAppr

  6. Webコンテナへアクセスする運用形態の設定
    asadminコマンドのsetサブコマンドを使用し、Webコンテナへアクセスする運用形態を“webserver”に設定します。詳細は、「ネットワーク設定の定義項目」の「Webコンテナへアクセスする運用形態」を参照してください。

  7. GlassFish Serverクラスターの起動
    asadminコマンドのstart-clusterサブコマンドで、各GlassFish Serverクラスターを起動します。

  8. Webサーバーの起動
    上記の設定変更を反映させるために、Webサーバーを起動または再起動します。

バーチャルホストを設定

Webサーバーにバーチャルホストを設定し、GlassFish Serverクラスターが使用するバーチャルホストを設定することにより、バーチャルホスト単位にWebアプリケーションの振り分け先GlassFish Serverクラスターを設定することができます。バーチャルホストについては、「Interstage HTTP Server 2.4運用ガイド」の「機能」-「バーチャルホスト」を参照してください。

  1. GlassFish Serverクラスター、GlassFish Serverインスタンスの作成
    GlassFish ServerクラスターやGlassFish Serverインスタンスを未作成の場合、asadmin create-clusterサブコマンド、create-local-instanceサブコマンドで、GlassFish ServerクラスターおよびGlassFish Serverインスタンスを作成します。

  2. WebサーバーとGlassFish Serverクラスターを連携
    WebサーバーとGlassFish Serverクラスターを同じマシンで運用する場合は、asadmin create-web-server-refサブコマンドで設定します。
    WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合は、Webサーバーの存在するマシンでwscadmin add-instance-refサブコマンドで設定します。また、GlassFish Serverクラスターの存在するマシンにもWebサーバーが存在する場合、asadmin delete-web-server-refサブコマンドでGlassFish Serverクラスターの存在するマシンのWebサーバーとGlassFish Serverクラスターの連携を解除します。

  3. バーチャルホストの設定
    Webサーバーの環境定義ファイル(httpd.conf)に、以下の形式でVirtualHostディレクティブを作成してください。

    <VirtualHost (IPアドレス)[:(ポート番号)]>
    	ServerName バーチャルホスト名
    	~省略~
    </VirtualHost>

    VirtualHostディレクティブで指定したIPアドレス・ポート番号・バーチャルホスト名を次の手順でのコマンド実行の際に使用します。

    設定方法の詳細は、「Interstage HTTP Server 2.4運用ガイド」の「環境設定」-「バーチャルホストの設定」を参照してください。

  4. GlassFish Serverクラスターにバーチャルホストを設定
    GlassFish Serverクラスターにバーチャルホストを設定します。
    WebサーバーとGlassFish Serverクラスターを同じマシンで運用する場合は、asadmin create-virtual-host-refサブコマンドで設定します。
    WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合は、Webサーバーの存在するマシンでwscadmin add-virtual-host-refサブコマンドで設定します。
    バーチャルホストを設定したWebサーバーと連携させる場合も、asadmin create-virtual-host-refまたはwscadmin add-virtual-host-refを実行する必要があります。

    Webサーバー(FJapache)とGlassFish Serverクラスターを同じマシンで運用し、GlassFish Serverクラスター(Cluster001)と連携するバーチャルホストが192.0.2.1/myhostGlassFish Serverクラスター(Cluster002)と連携するバーチャルホストが192.0.2.1:81/virtualhost1の場合

    C:\Interstage\glassfish5\glassfish\bin\asadmin create-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost
    C:\Interstage\glassfish5\glassfish\bin\asadmin create-virtual-host-ref --target Cluster002 --webserver FJapache 192.0.2.1:81/virtualhost1

    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin create-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost
    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin create-virtual-host-ref --target Cluster002 --webserver FJapache 192.0.2.1:81/virtualhost1

    Webサーバー(FJapache)とGlassFish Serverクラスターを別のマシンで運用し、GlassFish Serverクラスター(Cluster001)と連携するバーチャルホストが192.0.2.1/myhostGlassFish Serverクラスター(Cluster002)と連携するバーチャルホストが192.0.2.1:81/virtualhost1の場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost
    C:\Interstage\F3FMwsc\bin\wscadmin add-virtual-host-ref --target Cluster002 --webserver FJapache 192.0.2.1:81/virtualhost1

    /opt/FJSVwsc/bin/wscadmin add-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost
    /opt/FJSVwsc/bin/wscadmin add-virtual-host-ref --target Cluster002 --webserver FJapache 192.0.2.1:81/virtualhost1

  5. GlassFish Serverクラスターへのアプリケーションの配備
    asadminコマンドのdeployサブコマンドで、各GlassFish Serverクラスターにアプリケーションを配備します。その際、以下となるようにしてください。

    • 「アプリケーション名」が重複しないように、各GlassFish Serverクラスターで名前を変更する。

    • 「コンテキストルート」は、すべてのGlassFish Serverクラスターで同じ値にする。

    GlassFish ServerクラスターCluster001、Cluster002にWebアプリケーションSampleAppr.warを配備する場合

    C:\Interstage\glassfish5\glassfish\bin\asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war
    C:\Interstage\glassfish5\glassfish\bin\asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target Cluster002 SampleAppr.war

    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war
    /opt/FJSViaps/glassfish5/glassfish/bin/asadmin deploy --name SampleAppr2 --contextroot /SampleAppr --target Cluster002 SampleAppr.war

  6. WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合、wscadminコマンドでWebアプリケーションを振り分け対象にする
    WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合、Webサーバーの存在するマシンでwscadminコマンドのadd-application-refサブコマンドを使用し、配備したWebアプリケーションをWebサーバーコネクタの振り分け対象に設定します。WebサーバーとGlassFish Serverクラスターを同一のマシンで運用する場合は、本手順は実施する必要はありません。

    Webサーバー名がFJapacheGlassFish ServerクラスターCluster001、Cluster002、コンテキストルートSampleApprの場合

    C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target Cluster001 SampleAppr
    C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target Cluster002 SampleAppr

    /opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target Cluster001 SampleAppr
    /opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target Cluster002 SampleAppr

  7. Webコンテナへアクセスする運用形態の設定
    asadminコマンドのsetサブコマンドを使用し、Webコンテナへアクセスする運用形態を“webserver”に設定します。詳細は、「ネットワーク設定の定義項目」の「Webコンテナへアクセスする運用形態」を参照してください。

  8. GlassFish Serverクラスターの起動
    asadminコマンドのstart-clusterサブコマンドで、各GlassFish Serverクラスターを起動します。

  9. Webサーバーの起動
    上記の設定変更を反映させるために、Webサーバーを起動または再起動します。