GlassFishロードバランサコンフィグレータを使ってみよう

今回は、GlassFishアプリケーションサーバを高可用性構成で利用するときに 使用すると便利な、ロードバランサプラグインを設定してみましょう。


HADBバンドル版のGlassFish Enterprise Serverを利用する際は、インストーラにてロードバランサプラグインもインストールされますので、それほど導入に煩雑さはありません。

しかし、コミュニティ版のGlassFishや、HADBの付属しないGlassFish Enterprise Serverを利用する際は、ロードバランサプラグインを別途ダウンロードしてきて 手動でインストール/設定を行う必要がありました。

このたび、ロードバランサプラグインのインストール/設定をGUI画面で簡単に 実施する為のGlassFish LoadBalancer Configuratorのベータ版がリリース されたので、インストール/設定を紹介いたします。


今回使用するバイナリは以下のものです。

  1. Sun GlassFish Enterprise Server v2.1.1
  2. Sun Web Server 7 update7
  3. GlassFish LoadBalancer Configurator

インストール手順

  1. インストール環境の確認
  2. GlassFish DAS(Domain管理サーバ)のインストール
  3. GlassFish nodeagentのインストール
  4. GlassFishクラスタの作成
  5. GlassFish DASのSSL設定
  6. Web Serverのインストール
  7. ロードバランサプラグイン設定の為のDAS証明書の取り出し
  8. ロードバランサプラグインのインストール設定
  9. ロードバランサの設定
  10. 接続の確認

インストール環境の確認

まず、GlassFishによるクラスタ環境を作成しますので、3つのホスト (今回はSolarisゾーン)を用意します。
それぞれ、global, node1, node2という名前にしました。
このglobalに、GlassFish Domain管理サーバとロードバランサ用のWeb Server。
node1とnode2には、GlassFishのnodeagent(+インスタンス)をインストールします。



GlassFish DAS(Domain管理サーバ)のインストール

それでは最初にDomain管理サーバをインストールします。

global# pwd 
/share
global# ls -l
合計 179851
-rwxr-xr-x   1 root     root     91964589  1月 15日  17:18 sges-2_1_1-solaris-i586-ml.bin
global# ./sges-2_1_1-solaris-i586-ml.bin 










インストールが完了したら、アプリケーションサーバを起動します。

global# /opt/SUNWappserver/bin/asadmin start-domain domain1
ドメイン domain1 を起動しています。お待ちください。
デフォルトのログの場所は /opt/SUNWappserver/domains/domain1/logs/server.log です。
出力を /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトしています
ドメイン domain1 はクライアントの要求を受信する準備ができています。追加のサービスがバックグラウンドで開始されます。 
ドメイン [domain1] はその設定で [Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build b31g-fcs)] を実行しています。ログは [/opt/SUNWappserver/domains] にあります。
管理コンソールは [http://localhost:4848] で使用できます。
"asadmin" コマンドにも同じポート [4848] を使用します。
ユーザーの Web アプリケーションは次の URL で使用できます:
[http://localhost:8080 https://localhost:8181 ]。
次の web-contexts を使用できます:
[/web1  /__wstx-services ]。
標準の JMX クライアント (JConsole など) はドメイン管理のために JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://global:8686/jmxrmi] に接続できます。
ドメインは少なくとも次のポートで接続を待機しています:
[8080 8181 4848 3700 3820 3920 8686 ]。
ドメインはアプリケーションサーバークラスタおよびその他のスタンドアロンインスタンスをサポートしません。

global# 

その後、管理Web画面から、クラスタサポートの追加を実行します。






global# /opt/SUNWappserver/bin/asadmin start-domain domain1
ドメイン domain1 を起動しています。お待ちください。
デフォルトのログの場所は /opt/SUNWappserver/domains/domain1/logs/server.log です。
出力を /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトしています
ドメイン domain1 が起動しました。
ドメイン [domain1] はその設定で [Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build b31g-fcs)] を実行しています。ログは [/opt/SUNWappserver/domains] にあります。
管理コンソールは [http://localhost:4848] で使用できます。
"asadmin" コマンドにも同じポート [4848] を使用します。
ユーザーの Web アプリケーションは次の URL で使用できます:
[http://localhost:8080 https://localhost:8181 ]。
次の web-contexts を使用できます:
[/web1  /__wstx-services ]。
標準の JMX クライアント (JConsole など) はドメイン管理のために JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://global:8686/jmxrmi] に接続できます。
ドメインは少なくとも次のポートで接続を待機しています:
[8080 8181 4848 3700 3820 3920 8686 ]。
ドメインはアプリケーションサーバークラスタおよびその他のスタンドアロンインスタンスをサポートします。

global# 

これでドメイン管理サーバ(DAS)が完成しました。


GlassFish nodeagentのインストール

つづいて、node1, node2にnodeagentをインストールします。
nodeagentのインストールでも、バイナリのインストール自体はDASの時と同じです。 その後、デフォルトでインストールされるDomainを起動させずに削除して、nodeagentの作成を行います。

node1# pwd
/net/global/share
node1# ls -l
合計 179851
-rwxr-xr-x   1 root     root     91964589  1月 15日  17:18 sges-2_1_1-solaris-i586-ml.bin
node1# ./sges-2_1_1-solaris-i586-ml.bin 
Connecting to X11 server 'localhost:10.0'.
Java Accessibility Bridge for GNOME loaded.

node1#  /opt/SUNWappserver/bin/asadmin delete-domain domain1
ドメイン domain1 は削除されました。
node1# /opt/SUNWappserver/bin/asadmin create-node-agent --host global --user admin nodeagent1
管理パスワードを入力してください>
コマンド create-node-agent は正常に実行されました。
node1# /opt/SUNWappserver/bin/asadmin start-node-agent nodeagent1
管理ユーザー名を入力してください>admin
管理パスワードを入力してください>
マスターパスワードを入力してください [デフォルトを使用する場合は Enter キー]:>
出力を /opt/SUNWappserver/nodeagents/nodeagent1/agent/logs/server.log にリダイレクトしています
アプリケーション出力を /opt/SUNWappserver/nodeagents/nodeagent1/agent/logs/server.log にリダイレクトします
コマンド start-node-agent は正常に実行されました。
node1# 

node2# pwd
/net/global/share
node2# ls -l
合計 179851
-rwxr-xr-x   1 root     root     91964589  1月 15日  17:18 sges-2_1_1-solaris-i586-ml.bin
node2# ./sges-2_1_1-solaris-i586-ml.bin 
Connecting to X11 server 'localhost:10.0'.
Java Accessibility Bridge for GNOME loaded.

node2# /opt/SUNWappserver/bin/asadmin delete-domain domain1
ドメイン domain1 は削除されました。
node2# /opt/SUNWappserver/bin/asadmin create-node-agent --host global --user admin nodeagent2
管理パスワードを入力してください>
コマンド create-node-agent は正常に実行されました。
node2# /opt/SUNWappserver/bin/asadmin start-node-agent nodeagent2
管理ユーザー名を入力してください>admin
管理パスワードを入力してください>
マスターパスワードを入力してください [デフォルトを使用する場合は Enter キー]:>
出力を /opt/SUNWappserver/nodeagents/nodeagent2/agent/logs/server.log にリダイレクトしています
アプリケーション出力を /opt/SUNWappserver/nodeagents/nodeagent2/agent/logs/server.log にリダイレクトします
コマンド start-node-agent は正常に実行されました。
node2# 


GlassFishクラスタの作成

Domain管理サーバとnodeagentが用意できたら、クラスタを作成しましょう。







クラスタ環境が作成できたら、サンプルアプリケーションを配備しておきましょう。






GlassFish DASのSSL設定

ここで、GlassFish管理画面への接続にSSLを利用する設定をしておきましょう。




global# /opt/SUNWappserver/bin/asadmin stop-domain         
ドメイン domain1 が停止しました。
global# /opt/SUNWappserver/bin/asadmin start-domain domain1
ドメイン domain1 を起動しています。お待ちください。
デフォルトのログの場所は /opt/SUNWappserver/domains/domain1/logs/server.log です。
出力を /opt/SUNWappserver/domains/domain1/logs/server.log にリダイレクトしています
ドメイン domain1 が起動しました。
ドメイン [domain1] はその設定で [Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build b31g-fcs)] を実行しています。ログは [/opt/SUNWappserver/domains] にあります。
管理コンソールは [https://localhost:4848] で使用できます。
"asadmin" コマンドにも同じポート [4848] を使用します。
ユーザーの Web アプリケーションは次の URL で使用できます:
[http://localhost:8080 https://localhost:8181 ]。
次の web-contexts を使用できます:
[/web1  /__wstx-services ]。
標準の JMX クライアント (JConsole など) はドメイン管理のために JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://global:8686/jmxrmi] に接続できます。
ドメインは少なくとも次のポートで接続を待機しています:
[8080 8181 4848 3700 3820 3920 8686 ]。
ドメインはアプリケーションサーバークラス���およびその他のスタンドアロンインスタンスをサポートします。

global# 

Web Serverのインストール

今回は、ロードバランサ用にSun Web Server 7をインストールします。

global# pwd
/share/sjsws
global# ls -l
合計 591301
drwxr-xr-x   2 10       143            6 12月 15日  16:42 Legal
-rw-r--r--   1 10       143          711 12月 15日  16:42 README.txt
drwxr-xr-x   3 10       143           15 12月 15日  18:06 WebServer
-rwxr-xr-x   1 10       143        27024 12月 15日  16:42 setup
-rw-r--r--   1 root     root     302493184  1月 19日  17:23 sjsws-7_0u7-solaris-x86.tar
global# ./setup 













後述しますが、ロードバランサの設定においてWeb ServerでSSLを使う事になりますので、 Web Serverのインストールが完了したら、インスタンスのSSL設定を行っておきましょう。























SSLの設定までできたら、Web Serverを起動します。






ロードバランサプラグイン設定の為のDAS証明書の取り出し

ロードバランサ用のWeb ServerとGlassFish DASをクライアント認証を利用した SSL接続を行う設定をする事で、GlassFish DASの画面からWeb Server上の ロードバランサの設定を自動更新する事が可能になりますので、クライアント認証 を行えるようにDASの証明書を用意します。

global# which keytool                                                     
/usr/bin/keytool
global# pwd                                                               
/opt/SUNWappserver/domains/domain1/config
global# ls keystore.jks                                                   
keystore.jks
global# keytool -export -rfc -alias s1as -keystore ./keystore.jks -file s1as.rfc
キーストアのパスワードを入力してください:  

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  警告 警告 警告  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\*  キーストアに保存された情報の完全性は検証されて  \*
\*  いません!  完全性を検証するには、キーストアの   \*
\*  パスワードを入力する必要があります。            \*
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  警告 警告 警告  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

証明書がファイル  に保存されました。
global# ls s1as.rfc 
s1as.rfc
global# 


ロードバランサプラグインのインストール設定

ここまでは、環境の用意でしたが、今回の記事はここからが本番です。
それでは、ロードバランサコンフィグレータを利用してみましょう。

global# pwd
/share/glassfish-lbconfigurator
global# ls
User_Guide.pdf                legal
glassfish-lbconfigurator.jar
global# java -jar glassfish-lbconfigurator.jar 
Java Accessibility Bridge for GNOME loaded.
global# 









ロードバランサの設定

これまでの設定でGlassFishからロードバランサの設定を行えるようになりましたので、 早速、ロードバランサを設定してみましょう。








接続の確認

設定が完了しましたので、接続確認してみます。



以上でロードバランサの設定が完了しました。

GlassFish LoadBalancer Configuratorの登場でHADBバンドル版以外の GlassFishでも比較的容易にロードバランサプラグインの設定が行えるように なりましたので、興味がある方はぜひ試してみて下さい。


※参考資料

投稿されたコメント:

コメント
コメントは無効になっています。
About

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日