intra-mart Accel Platform セットアップガイド (Payara編) 第8版 2023-10-01

Payara のクラスタリング

Payara のクラスタリング環境の構築手順について説明します。

本章では以下の 2 台構成でセットアップを行う手順について説明します。

  マシン1 マシン2
プライベートIPアドレス 172.16.0.2 172.16.0.3
構成 DAS + インスタンス1 インスタンス2
名称 DAS ノード SSH ノード

本章では、マシン1を「DAS ノード」、マシン2「SSH ノード」を呼びます。

DAS ノードとなるサーバに Payara をインストールする

  1. DAS ノードとなるサーバに以下のセットアップを実施します。

    コラム

    DAS ノードとなるサーバにはスタンドアローンと同様のセットアップを実施します。

SSH ノードとなるサーバに Payara をインストールする

  1. SSH ノードとなるサーバに以下のセットアップを実施します。

    コラム

    SSH ノードとなるサーバには Payara のインストールと JDBC ドライバの配置を実施します。

    コラム

    SSH ノード上の Payara の起動や停止は DAS ノードとなるサーバから実施します。そのため、このステップでは Payara と JDBC ドライバの配置のみを行ってください。

  2. <%PAYARA_HOME%/glassfish/config/asenv.conf> ファイルに AS_JAVA の設定を追加します。

    ...
    AS_IMQ_LIB="../../mq/lib"
    AS_IMQ_BIN="../../mq/bin"
    AS_CONFIG="../config"
    AS_INSTALL=".."
    AS_DEF_DOMAINS_PATH="../domains"
    AS_DEF_NODES_PATH="../nodes"
    AS_DERBY_INSTALL="../../javadb"
    AS_H2_INSTALL="../../h2db"
    AS_JAVA="/usr/local/jdk"
    

    コラム

    AS_JAVA に指定する Java のパスには、$AS_JAVA/bin/java ファイルが存在するようなパスを設定してください。
    例として、ここでは /usr/local/jdk と設定します。
    この設定により、/usr/local/jdk/bin/java が利用されます。

DAS ノードの Payara を起動する

  1. DAS ノードとなるサーバを起動します。以下の手順を参考にしてください。

DAS ノードの Payara の管理コンソールにアクセスする

  1. DAS ノードとなるサーバの管理コンソールを開きます。以下の手順を参考にしてください。

    ../../_images/payara_clustering_admin_console1.png

SSH ノードの設定を行う

  1. 左ペインのメニューから [Nodes] を選択し、[New] をクリックします。

    ../../_images/payara_clustering_ssh_node1.png
  2. 下記のように入力し、[OK] をクリックします。

    Name
    ノードの名前を入力します。
    例として、ここでは remote-node1 と入力します。
    Type SSH
    Node Host 172.16.0.3
    Node Directory 未入力で構いません。
    Installation Directory
    SSH ノードとなるサーバ 上の Payara のインストールパスを入力します。
    例として、ここでは /var/payara と入力します。
    Install Payara Server 選択しないでください。
    Force 選択しないでください。
    SSH Port 22
    SSH User Name root
    SSH User Authentication Password
    SSH User Password root ユーザのパスワードを入力します。
    Configuration
    imart-config を選択してください。
    Reference the Selected Configuration を選択してください。

    コラム

    SSH Port, SSH User Name, SSH User Authentication 等の SSH の設定については、DAS ノードとなるサーバから SSH ノードとなるサーバへのアクセスが可能な SSH の情報を設定してください。 公開鍵認証の場合 SSH User Authentication は Password ではなく Key File を選択してください。この場合、Key File には鍵ファイルへのパスを指定してください。

    コラム

    SSH User Name には、SSH ノード上の Payara ディレクトリ、ストレージディレクトリ等へのアクセス権があるユーザを指定してください。

    ../../_images/payara_clustering_ssh_node2.png
    ../../_images/payara_clustering_ssh_node3.png
    ../../_images/payara_clustering_ssh_node4.png
  3. SSH ノードを登録できました。

    ../../_images/payara_clustering_ssh_node5.png
  4. [Ping] をクリックすることで、SSH の疎通確認を行えます。

    ../../_images/payara_clustering_ssh_node6.png

SSH ノードインスタンスを作成する

  1. 左ペインのメニューから [Instances] を選択し、[New] をクリックします。

    ../../_images/payara_clustering_instances1.png
  2. 以下のように入力し、[OK] をクリックします。

    Instance Name
    インスタンスの名前を入力します。
    例として、ここでは remote-instance1 と入力します。
    Node remote-node1
    Configuration
    imart-config を選択してください。
    Reference the Selected Configuration を選択してください。
    ../../_images/payara_clustering_instances2.png
  3. インスタンスを登録できました。

    ../../_images/payara_clustering_instances3.png

Deployment Group を作成する

  1. 左ペインのメニューから [Deployment Groups] を選択し、[New] をクリックします。

    ../../_images/payara_clustering_deployment_groups1.png
  2. 以下のように入力し、[OK] をクリックします。

    Deployment Group Name
    デプロイメントグループの名前を入力します。
    例として、ここでは imart-deployment-group と入力します。
    Selected Instances [imart-instance] と [remote-instance1] を追加します。
    ../../_images/payara_clustering_deployment_groups2.png
  3. デプロイメントグループを登録できました。

    ../../_images/payara_clustering_deployment_groups3.png

Deployment Group を終了する

  1. 左ペインのメニューから [Deployment Groups] を選択し、[imart-deployment-group] を選択し、[Stop Deployment Group] をクリックします。

    ../../_images/payara_clustering_stop_deployment_groups1.png
  2. デプロイメントグループを終了できました。

    ../../_images/payara_clustering_stop_deployment_groups2.png

Deployment Group を起動する

  1. 左ペインのメニューから [Deployment Groups] を選択し、[imart-deployment-group] を選択し、[Start Deployment Group] をクリックします。

    ../../_images/payara_clustering_start_deployment_groups1.png
  2. デプロイメントグループを開始できました。

    ../../_images/payara_clustering_start_deployment_groups2.png

Domain Data Grid を確認する

  1. 左ペインのメニューから [Domain] - [Data Grid] を選択し、[Data Grid Instances] をクリックします。

    ../../_images/payara_clustering_domain_data_grid1.png
  2. [imart-instance] と [remote-instance1] がクラスタリングされていることを確認できます。

    ../../_images/payara_clustering_domain_data_grid2.png
    ../../_images/payara_clustering_domain_data_grid3.png

    コラム

    Payara 5 の Domain Data Grid 機能として、DAS ノード(Instance Name=server)もクラスタリングに参加します。

デプロイメントグループを JDBC リソースの対象に設定する

  1. 左ペインのメニューから [Resources] - [JDBC] - [JDBC Resources], 対象となる JDBC リソースをクリックします。例として、ここでは jdbc/postgresql を選択します。選択後、[Target] - [Manage Targets] をクリックします。

    ../../_images/payara_clustering_jdbc1.png
  2. [imart-deployment-group] を [Selected Targets] に追加します。その他は必要に応じて追加します。追加後、[Save] をクリックします。

    ../../_images/payara_clustering_jdbc2.png
  3. デプロイメントグループを JDBC リソースの対象に追加できました。

    ../../_images/payara_clustering_jdbc3.png

アプリケーションをデプロイする

  1. 左ペインのメニューから [Applications] をクリックします。

    ../../_images/payara_deploy1.png
  2. [Deploy] をクリックします。

    ../../_images/payara_deploy2.png
  3. 以下のようの入力します。

    Location
    [ファイルを選択] より、war ファイルを選択してアップロードします。
    または、war ファイルを DAS ノードとなるサーバに別途アップロードし、Browse Files よりアップロードした war ファイルを選択します。
    Type Web Application を選択します。
    Context Root コンテキストルート名を入力します。例として、ここでは imart を設定します。
    Application Name アプリケーション名を入力します。例として、ここでは imart を設定します。
    Availability 選択します。Availability を有効化しない場合、セッションレプリケーションを行えません。
    Precompile JSPs 選択します。
    ../../_images/payara_deploy3.png
    ../../_images/payara_deploy4.png
  4. [Selected Targets] に [imart-deployment-group] を追加します。

    ../../_images/payara_deploy5.png
  5. [OK] をクリックし、デプロイします。

    ../../_images/payara_deploy6.png
  6. デプロイできました。

    ../../_images/payara_deploy7.png

インスタンスの起動確認

  1. インスタンスの起動確認」と同様の手順でインスタンスが起動しているポートを確認します。

    ../../_images/payara_check_startup1.png

    コラム

    DAS ノードとなるサーバ上で 28080 ポートで起動していることが確認できます。

    ../../_images/payara_check_startup2.png

    コラム

    SSH ノードとなるサーバ上で 28081 ポートで起動していることが確認できます。

  2. 上記の手順で確認できた以下の二つの URL に対してロードバランスを行ってください。

    注意

    Payara のクラスタリング環境を運用する場合は、必ず Web Server やロードバランサをスティッキーセッションとし、同一セッションのリクエストが同じ Payara に送信されるように設定してください。