この記事は、Liferay Portal 6.2 または Liferay DXP (7.0 または 7.1) を WebSphere Application Server 上で Network Deployment (通称 ND) で展開する方法を説明しています。
Network Deployment Editionは、複数のアプリケーションサーバー環境を管理するための追加プロファイルを提供するツールです。 Deployment Managerプロファイルを持たない「標準」WebSphere環境では、管理者は 個々に、 手動で Liferay PortalまたはLiferay DXP .war
ファイルをクラスター環境の各ノードに展開する必要があります。 ND版を使用する利点は、管理者が .war
ファイルを複数回展開する必要がないことです。 その代わりにNDエディションには、環境全体を管理するデプロイメントマネージャー(DMGR)と管理エージェントが含まれています。
目次
- Deployment Managerのプロファイルを作成する
- アドミニストレーティブ・エージェント・プロファイルの作成
- Application Serverのプロファイルを作成する
- フェデレートノード
- WebSphere Admin Consoleを設定する
解決策
Deployment Managerのプロファイルを作成する
- IBM Profile Management Toolを起動します。
- プロファイルの作成をクリックします。
- 管理をクリックします。
- Deployment Managerをクリックします。
- 詳細プロファイル作成をクリックします。
-
ホスト
フィールドを除き、デフォルト値を使用します。 localhostの代わりにIPアドレスを使用します。 管理者用セキュリティを無効にする。 - Deployment Managerのプロファイルを作成したら、Deployment Managerを起動します。
アドミニストレーティブ・エージェント・プロファイルの作成
- IBM Profile Management Tool を開きます。
- プロファイルの作成をクリックします。
- 管理をクリックします。
- Administrative Agentをクリックします。
- 次へ をクリックし、 代表的なプロファイルの作成.
- 管理者用セキュリティを無効にする。
- Administrative Agentのプロファイルが作成されたら、Administrative Agentを起動します。
アプリケーションサーバプロファイルの作成
この時点で、管理者はLiferay Portal 6.2またはLiferay DXPが展開される従来のアプリケーションサーバプロファイルを作成します。 クラスタ環境では必要な数だけプロファイルを作成します。 AppSrv01がクラスタノード1、AppSrv02がノード2、といった具合に、これらがノードとなる。
- プロファイルマネジメントツールを開く。
- プロファイルの作成をクリックします。
- Application Serverをクリックします。
- >次へ 次に「Typlicalプロファイルの作成」をクリックします。
- >次へ をクリックし、管理者用セキュリティを無効にします。
- [作成] をクリックします。
この手順を各ノードについて繰り返します。
フェデレートノード
binフォルダ配下のaddNodeコマンドを実行し、Primary Nodeに追加します。 Network Deployment版では、これらの追加手順が必要です。 このステップでは、すべてのノードを追加(フェデレート)して、このレベルで互いに通信できるようにします。 これは、ユニキャストクラスター通信プロトコル( tcp.xml
に記載)など、他の必要な設定を置き換えるものではないことに注意してください。 (以下のコマンドはUnix/Linuxのスタイルで記載されています)。
-
/app/IBM/WebSphere/AppServer/profiles/AppSrv01/bin に移動します
. - コマンドラインで実行:
./addNode.sh IPアドレス [SOAP port]
(例:./addNode.sh 192.168.0.103 8880
) - 成功メッセージが表示されることを確認します:
ノード ${node1Name} は正常にフェデレーションされました。
- クラスタの各ノードについて、これらの手順を繰り返します。
WebSphere Admin Consoleでノードを設定する。
チェックポイントのチェックリストです:- Deployment Manager(Dmgr01)が作成され、起動しました。
- Administrative Agent(AdminAgent01)が作成され、起動しました。
- クラスタ内の各ノードには、Application Serverプロファイルが作成されています(Node1、Node2、Node3・・・)。
- クラスタのすべてのノードがフェデレーションされています。
上記の4つのことが完了したら、 .war
をデプロイする前に、いくつかのステップがあります。
- 各ノードに
home
フォルダを作成します。home1, home2, home3 のように増やしましょう。 -
portal-ext.properties
ファイルを作成します。 - Liferay DXP 7.x の場合、OSGi modules フォルダを中に解凍し、
portal-ext.properties
内に場所を設定します。 - 管理者は、
portal-ext.properties
でデータベース設定を行うか、WebSphereのJNDIネイティブ設定を代わりに使用することができます。 -
cluster.link.enabled=true
を設定してクラスタリングを有効にし、Liferay のバージョン(マルチキャストまたはユニキャスト)に応じて、クラスタ通信プロトコルを設定します。 クラスタリングと ehcache の詳細については、この KB 記事 Liferay Clustering および How to Cluster with TCP Unicastを参照してください。 - そして、
portal-ext.properties
を Liferay Portal または Liferay DXP 7.x.war
ファイル内に配置します。
サーバーをシャットダウンして変更を加え、サーバーを再起動して変更を適用するよりも、WebSphereで初回に希望の設定でLiferay PortalやLiferay DXP 7.xをデプロイする方が簡単です。 WebSphereコンソールでは、どんなに小さな変更であっても、すべての変更の後にマスター構成に保存します。
- http://${IP Address}:9060/ibm/consoleで IBM コンソールに移動します。
- > Primary Nodeで、 [Manage Server] > [System Admin]をクリックします。 そこには、2つのノードが表示されています。 同期されていない場合は、手動で同期リクエストを送信してみてください。
- Servers > Server Types > Delete existing two nodes をクリックします。 保存.
- Clusters > New Cluster >をクリックします。 Session Replicationオプションをチェックします。 ノードを追加します。
- 各ノードのJVMオプションを変更します:追加
-Djava.net.preferIPv4Stack=true
. -
.war
を最初のノードにデプロイします。 この時点では、Network Deployment Managerを使用しない「標準的な」アプリケーションサーバーと多かれ少なかれ同じ展開プロセスになっています。 唯一の違いは、Deployment Managerが.war
を各ノードに分散させることです。 - 各ノードを順次スタートさせる。 http://${IP Address}:9080に移動します(ノードごとに1をインクリメントします)。 Liferay Portal(またはLiferay Digital Enterprise 7.0)が使用できるようになります。 各ノードの クラスタ ライセンスを展開する。
- 各ノードにEhcacheプラグインをデプロイします。
クラスタ化された環境には、アプリケーション・サーバーとデータベース以外のものもあることは明らかです。 もちろん、ロードバランサー、Webサーバー(例えば、Apache Web Server)、検索・インデックスサーバー(例えば、Solr、ElasticSearch)などがあります。 WebSphere Application Server with Network Deployment エディションでこれらを設定することは、「標準」バージョンとほぼ同じです。