クラスタ(GlassFish?)

GlassFish?のクラスタを構築する。
1台目のPCをこちらを参照してセットアップしておく。

2台目の準備

1台目のPCと同じOSのPCを用意し、GlassFish?はJavaを必要とするため、こちらを参照して1台目と同様にJavaをインストールしておく。

まず、1台目のPCから遠隔で操作するためOpenSSHをインストールする。パスワードが聞かれるのでパスワードを入力し、確認メッセージが表示されたらyを入力し進める。

sudo apt-get install openssh-server


次に、遠隔から利用するユーザーglassfishを作成する。

sudo adduser glassfish


続いてglassfish4のインストールディレクトリを作成し、所有者をユーザーglassfishに変更する。
インストールは遠隔で行うためここではディレクトリの作成のみを行う。

sudo mkdir /usr/local/glassfish4
sudo chown -R glassfish /usr/local/glassfish4


クラスタの作成

1代目のPCからブラウザを起動し、http://localhost:4848/にアクセスする。

まず、2台目のPCをノードとして登録する。
なお、1代目のPCはlocalhost-domain1として既に登録されている。 左側のツリーから「ノード」を選択し、「新規」をクリックする。

#ref(): File not found: "nd1.gif" at page "クラスタ(GlassFish)"


ノードの名前と2台目のPC名を入力し、GlassFish? Serverのインストールにチェックを入れる。

#ref(): File not found: "nd2.gif" at page "クラスタ(GlassFish)"


1代目のPCと2台目のPCのユーザー名が異なるときはユーザー名を入力する。
SSHユーザー認証をパスワードにし、パスワードを入力する。
入力がすべて終わったら「OK」をクリックする。

#ref(): File not found: "nd3.gif" at page "クラスタ(GlassFish)"


ノードの作成が正常に終了すると画面がノードの一覧に切り替わる。

#ref(): File not found: "nd4.gif" at page "クラスタ(GlassFish)"


ノードの作成が完了したのでクラスタを作成する。
左側のツリーから「クラスタ」を選択し、「新規」をクリックする。

#ref(): File not found: "cl1.gif" at page "クラスタ(GlassFish)"


クラスタ名を入力する。
次に、作成するサーバー・インスタンスの「新規」ボタンをクリックしてインスタンスを追加し、各インスタンスの名前とノード(対象のPC)を選択する。
インスタンスとは実際にサーバーとして動作する実態である。
各ノードに1つずつインスタンスを作成する。
入力が完了したら「OK」をクリックする。

#ref(): File not found: "cl2.gif" at page "クラスタ(GlassFish)"


クラスタが正常に作成されると画面が切り替わり、クラスタの一覧が表示される。
この時点ではクラスタは起動していない。
起動するには作成したクラスタにチェックを入れ、「クラスタの起動」をクリックする。確認メッセージが表示されるので「OK」をクリックし起動する。

#ref(): File not found: "cl3.gif" at page "クラスタ(GlassFish)"


クラスタが起動すると、インスタンスが稼働中にかわる。

#ref(): File not found: "cl4.gif" at page "クラスタ(GlassFish)"


クラスタの起動・停止をコマンドから行うには以下のコマンドを使用する。

/usr/local/glassfish4/bin/asadmin start-cluster cluster1
/usr/local/glassfish4/bin/asadmin stop-cluster cluster1


各PCの起動時にインスタンスを自動的に起動するためには次のコマンドで登録を行う。
このコマンドは各インスタンスが稼働しているPCで実行する。遠隔ではない。

sudo /usr/local/glassfish4/bin/asadmin create-service --serviceuser glassfish ap1
sudo /usr/local/glassfish4/bin/asadmin create-service --serviceuser glassfish ap2


各インスタンスのログは次の場所に格納されている。

/usr/local/glassfish4/glassfish/nodes/localhost-domain1/ap1/logs/server.log
/usr/local/glassfish4/glassfish/nodes/AP2/ap2/logs/server.log

JDBCリソースの再設定

一度リソースを削除して作成したクラスタをターゲットに再度JDBCリソースの作成を行う。
JDBCのプールを再作成する必要はない。(なお、java.sql.Driverタイプのプールは制約がある)

/usr/local/glassfish4/bin/asadmin delete-jdbc-resource jdbc/mysql
/usr/local/glassfish4/bin/asadmin create-jdbc-resource --target cluster1 --connectionpoolid MysqlPool jdbc/mysql

EJBTimer用の設定

デフォルトのタイマー管理用のDBはクラスタで動作しないため、設定を行う。

構成>クラスタ名-config>EJBコンテナを開き、EJBタイマー・サービスのタイマー・データソースに作成したJDBCリソース名を入力し、「OK」をクリックする。

#ref(): File not found: "et1.gif" at page "クラスタ(GlassFish)"


管理用のテーブルを作成するため下記のSQLをデータベースに対して実行する。

/usr/local/glassfish4/glassfish/lib/install/databases/ejbtimer_mysql.sql 


JMSリソースの再設定

事前に一部のループバックアドレスの使用を停止する。
下記のコマンドを入力し、hostsファイルを編集する。

sudo gedit /etc/hosts

2行目の127.0.1.1をPCのIP(固定IP)に変更する。
この操作をクラスタのインスタンスがあるすべてのPCで行う。

127.0.0.1	localhost
192.168.1.21	AP1.local	AP1
#(以下省略)

一度リソースを削除して作成したクラスタをターゲットに再度JMSリソースの作成を行う。

/usr/local/glassfish4/bin/asadmin delete-jms-resource jms/factory
/usr/local/glassfish4/bin/asadmin delete-jms-resource jms/queue
/usr/local/glassfish4/bin/asadmin delete-jms-resource jms/topic
/usr/local/glassfish4/bin/asadmin create-jms-resource --target cluster1 --restype javax.jms.ConnectionFactory jms/factory
/usr/local/glassfish4/bin/asadmin create-jms-resource --target cluster1 --restype javax.jms.Queue jms/queue
/usr/local/glassfish4/bin/asadmin create-jms-resource --target cluster1 --restype javax.jms.Topic jms/topic

デフォルトのJMS構成の場合、JMSのログは次のファイルに記録される。

/usr/local/glassfish4/glassfish/nodes/localhost-domain1/ap1/imq/instances/cluster1ap1/log/log.txt
/usr/local/glassfish4/glassfish/nodes/AP2/ap2/imq/instances/cluster1ap2/log/log.txt

アプリケーションのデプロイ

アプリケーションのデプロイは次のようにクラスタ名をターゲットにして行う。

/usr/local/glassfish4/bin/asadmindeploy --force --target cluster1 /media/sf_shared/MySample.ear

http://ap1.local:28080/アプリケーション名とhttp://ap2.local:28080/アプリケーション名にアクセスして動作を確認する。

コメント



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-06-28 (土) 01:50:22 (3588d)