Archive for 8月, 2007

クラスタ環境構築の準備



先日は、SJS Application Server 9.1 EEを1台のマシンにインストールし、

ドメイン管理サーバ(Domain Administration Server)上に存在する

インスタンスに対してアプリケーションをデプロイし動作確認を行いました。



参考:SJS Application Server 9.1 EE Betaのインストール



さて今回より、負荷分散・高可用性を実現する為クラスタ環境を構築し、

セッション情報を複数台のマシン上で共有できるようなシステムの構築を

行います。

まず、システムを構築する前に、事前に理解して置かなければならない内容について

説明します。

キーワードは下記の4つです。



●ドメイン

●ドメイン管理サーバ(DAS: Domain Administration Server)

●ノードエージェント(Node Agent)

●インスタンス(Instance)

●クラスタ







絵を使ってもう少し詳しく説明しましょう。

「ユーザの観点」からと「サーバ管理者」の観点からそれぞれ確認します。

まず「サーバ管理者」はSJS Application Serverの管理を

行うために必ず1つ以上のドメイン(Application Serverの構成単位)を

作成します。







そして、ドメインを管理する為にドメイン内に必ず1つの

ドメイン管理サーバ(DAS)を用意します。

インストール時には下記の項目で「ドメイン管理サーバ」として

インストールを行う設定をします。







ドメイン内に所属する全てのマシン(物理的なH/W)上に

それぞれのマシンを管理する為の軽量エージェントプロセス(ノードエージェント)

を導入する必要があります。ノードエージェントはDAS上から管理を行い、

実際にサービスを提供するインスタンス(Server Instance)の

起動・停止・作成・削除等の操作を行う事ができます。



また、Web アプリケーションやEJBモジュール等はインスタンスに

配備し、ユーザはこのインスタンスに対してアクセスする事で

サービスを受ける事ができるようになります。







次にクラスタについて説明します。

アプリケーションに対する負荷を複数台のマシンで分散させる為(Scalability)、

単一システムの障害によるサービス停止を防ぐ高可用性(High Availability)を

実現する為に管理者は複数台のマシンでサービスを提供したいと考えます。

この際、同一のアプリケーションを複数台のマシンに配備する必要が

ありますが、サーバインスタンスを個別に作成し、個別にアプリケーションを

配備するのは非常に管理コストのかかる作業になります。

また、マシンの数が多くなればなる程、管理者による操作ミスが発生して

しまう可能性があります。

これらを防ぐために、SJS Application Serverでは「クラスタ」という

概念が存在します。

クラスタはアプリケーション・リソース(JNDI等)・設定情報をクラスタに

属するインスタンスで共有する事が可能となります。つまり管理者は

クラスタに対する1回の操作を行うだけで全てのインスタンスに対して

同一の操作をしたのと同じ事が実現できます。これにより管理者の

管理コストは軽減し、さらには管理者による単純ミスを防ぐ事ができるように

なります。



今回構築するシステムは下記の図の構成とします。

前段にWeb Serverを配置し、後段にApplication Server を2台のマシンに

それぞれ配置します。







インストールコンポーネント


今回、appserver01(192.168.0.1),appserver2(192.168.0.2)それぞれに対して

SJS Application Server 9.1 EE(with HADB)をインストールします。

それぞれにインストールするコンポーネントを下記の表に示します。
































































インストールコンポーネント/ホスト名
appserver01 appserver02
アプリケーションサーバ ドメイン管理サーバ
×

ノードエージェント

コマンド行管理ツール

ロードバランスプラグイン × ×

JavaDBデータベース

OpenESB
サンプルアプリケーション ×

Sun Java System Message Queue
High Availability Session Store (HADB)






2007年8月30日 at 1:30 AM

SJS Application Server 9.1 EE Betaのインストール



Sun Java System Application Server 9.1 のリリースが

まじかとなって参りました。



そこで、本日よりSJS Application Server 9.1 with HADBのベータ版を使用して

機能検証を行いたいと思います。本検証は英語を使用しています。



(マルチリンガル版を入手し次第画面ダンプを置き換え予定)



また本ブログ中でダンプした画像と正式リリース後の表示画面は

異なる場合がありますので、御了承ください。



それでは早速インストールを行ってみたいと思います。



SJS Application Server 9.1 Enterprise Editionのインストール



1. インストールバイナリの入手


  現時点ではSJS Application Server 9.1 with HADBバージョンを

  入手する事はできません。SJS Application Server 9.1の

  正式リリース後に弊社サイトより入手可能となる予定です。



2. インストーラの起動


  インストーラを入手した後、ファイルを保存したディレクトリ下で

  下記のコマンドを実行して下さい。




> ./sjsas_ee-9_1-solaris-sparc.bin




3. インストール Wizard画面の表示


  インストーラを起動した後下記の画面が表示されます。

  インストールを続行する場合、「Next」ボタンを押下してください。







4. ライセンスの同意確認画面


  「Next」ボタンを押下すると下記の画面が表示されます。

  ここで、ライセンス条項に同意する場合「Yes」のチェックボックスに

  チェックを付け「Next」ボタンを押下して下さい。







5. インストール場所の指定


  「Next」ボタンを押下すると下記の画面が表示されます。

  ここで、Application Serverのインストール場所を指定します。

  デフォルトではインストール先として [/opt/SUNWappserver] が

  記載されています。インストールする環境に応じて適切な場所を

  指定して「Next」ボタンを押下して下さい。







  仮に指定したディレクトリ名が存在しない場合、下記の画面が表示されます。

  [Create Directory] ボタンを押下してディレクトリを作成して下さい。







6. インストールするコンポーネントの選択


  「Next」ボタンもしくは [Create Directory] ボタンを押下すると下記の画面が表示されます。

  ここで、SJS Application Server 9.1のインストールするコンポーネントを選択します。







  Serverに関するコンポーネント:

  Node Agent :

  High Availability Database Servver(以降 HADB) :

  Load Balancing Plugin :




  管理に関するコンポーネント

  Domain Administration Server and Administration Tool ;

  Command Line Administration Tool Only :

  No Administration Tools :




  追加コンポーネント

  Sample Applications



  本マシンにはドメインを管理する為のDomain Administration Serverとして

  設定する為、[Node Agent] , [HADB] , [Domain Administration Server and Administration Tools]

  [Sample Applications] のチェックボックスにチェックを付けインストールを行う事にします。

  チェックを付けた後、「Next」ボタンを押下して下さい。



7. Java 2 SDKの指定


  「Next」ボタンを押下すると下記の画面が表示されます。

  ここで、SJS Application Server 9.1を稼働させる為に使用する

  Java 2 SDKを指定します。







  インストールを行うシステム上にJava 2 SDKが導入されていない場合は

  [Install Java 2 SDK (5.0)] にチェックを付け、付属のJava 2 SDKを

  インストールして下さい。

  既に Java 2 SDK が導入されている場合は、[Reuse existing Java 2 SDK]

  にチェックを付け、[Browse]ボタンより既存のJava 2 SDKを指定して下さい。

  チェックを付けた後、「Next」ボタンを押下して下さい。



8. SJS Application Server 9.1の管理設定


  ここで、SJS Application Server 9.1の管理を行うために、

  管理者のユーザ名・パスワード・マスターパスワード・

  管理用GUIへアクセスする為のポート番号を設定します。

  設定項目入力後、「Next」ボタンを押下して下さい。







9. インストールオプションの選択


  「Next」ボタンを押下すると下記の画面が表示されます。

  ここでは、インストールを行う際に選択可能なオプションが指定できます。







  [*] Register Application Server(アプリケーションの導入後、登録を行う場合)

  [ ] Upgrade from Previous Version (前バージョンからの設定を引き継いでアップグレードインストールを行う場合)

  [*] Enable Updatecenter Client (アップデートセンターのクライアントを有効にする場合)



  必要なオプションにチェックを付け「Next」ボタンを押下して下さい。



10. インストール前の事前確認


  「Next」ボタンを押下すると下記の画面が表示され、必要なディスク容量が存在するか否かを

  チェックします。







11. インストール前の最終確認


  十分なディスク容量が存在する場合、下記の画面が表示されます。

  内容を確認し、「Install Now」ボタンを押下して下さい。







12. インストールの実行


  「Install Now」 ボタンを押下すると、インストールが開始し下記の画面が

  表示されます。







13. インストール完了


  インストールが正常に終了すると下記の画面が表示されます。

  ここには、アプリケーションサーバの起動方法、管理コンソールへの接続方法

  また、動作確認を行うためのサンプルアプリケーションのパスが記載されていますので、

  内容を確認し「Finish」ボタンを押下します。







14. SJS Application Server 9.1 の起動


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

  「13. インストール完了」のインストール完了時に表示される画面の内容に

  従い、コマンドを実行します。



appserver1 > ./asadmin start-domain –user=admin domain1
Starting Domain domain1, please wait.

Log redirected to /sun/SUNWappserver91/domains/domain1/logs/server.log.

Please enter the master password> [********]

Redirecting output to /sun/SUNWappserver91/domains/domain1/logs/server.log

Domain domain1 started.

Domain [domain1] is running [Sun Java System Application Server 9.1 (build local)] with its configuration and logs at: [/sun/SUNWappserver91/domains].

Admin Console is available at [https://localhost:4848].

Use the same port [4848] for “asadmin” commands.

User web applications are available at these URLs:

[http://localhost:8080 https://localhost:8181 ].

Following web-contexts are available:

[/web1 /__wstx-services ].

Standard JMX Clients (like JConsole) can connect to JMXServiceURL:

[service:jmx:rmi:///jndi/rmi://appserver01:8686/jmxrmi] for domain management purposes.

Domain listens on at least following ports for connections:

[8080 8181 4848 3700 3820 3920 8686 ].

Domain supports application server clusters and other standalone instances.





15. SJS Application Server 9.1 の管理コンソールへの接続


  アプリケーションサーバが起動した後、Web Browserより管理コンソールの

  URLへアクセスして下さい。

  ※管理コンソールはJSFアプリケーションで作成されている為、起動後

   最初にアクセスする際には、内部でコンパイルが行われているため

   表示までに時間を要します。

  ログイン画面にて管理者のユーザ名、パスワードを入力後「Login」ボタンを押下して

  下さい。







  「Login」ボタンを押下すると下記の画面が表示されます。







16. SJS Application Server 9.1 へサンプルアプリケーションのデプロイ


  次に、サンプルアプリケーションのデプロイと動作確認を行います。

  管理コンソールの左に表示されるTreeより「Enterprise Applications」を選択して下さい。

  その後、右画面に表示される配備用の画面より「Deploy…」ボタンを押下して下さい。







  「Deploy…」ボタンを押下すると下記の画面が表示されます。ここで「Location」として

  「Local packaged file or directory that is accessible from the Application Server」に

  チェックを付け「Browse Files…」ボタンを押下します。







  「Browse Files…」ボタンを押下すると、下記のサブウィンドウが表示されます。

  この機能は、SJS Application Server 8.2 までは存在しておりませんでしたが、

  Application Server 9.1がインストールされているファイルシステムのディレクトリ構造や

  ファイルの内容を確認できるアプリケーションとなっています。

  ディレクトリを辿って下記のディレクトリ中に存在する「clusterjsp.ear」ファイルを指定します。



  [/sun/SUNWappserver91/samples/ee-samples/highavailability/apps/clusterjsp]



  ※この機能は非常に便利な反面、管理コンソールに対して外部からアクセスできる環境の場合

   システムのディレクトリ構造を初め、どのようなファイルが存在しているのかが外部に

   漏れる可能性があるため、本番環境においては管理コンソールは特定のシステムからしか

   アクセスできないようにして下さい。ファイルを選択後、「OK」ボタンを押下して下さい。








  「Choose File」ボタンを押下すると下記の画面が表示されます。

  下記の2画面の設定内容を確認し、「OK」ボタンを押下して下さい。











   最後に、デプロイしたアプリケーションの動作確認を行います。

   ブラウザより、[http://APP-SERVER:8080/clusterjsp/] に接続してください。







  如何でしょうか。アプリケーションサーバの動作確認はできましたか?



  次回は、他のマシンにもアプリケーションサーバを導入し2台でクラスタ環境を

  構築したいと思います。




2007年8月29日 at 12:55 AM


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2007年8月
« 7月   9月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

Twitter

  • DEISは分かりやすく言うと、HerokuがAzureにやってきた!!という感じかな。 17 hours ago
  • まだ、完全ではありませんが、最初の大事な部分はまとめたので、オリジナルメモよりもやりやすくなるかと思います。 ちなみに、オリジナルの検証メモはこちら。 github.com/yoshioterada/P… 17 hours ago
  • de:code 発表用に DEIS on Kubernetes on Azure Container Service について色々と検証した内容を誰でも触れるように、この土日でハンズオン資料としてまとめました。 github.com/yoshioterada/D… 17 hours ago
  • @opendeis Now, I’m creating following documents. github.com/yoshioterada/D… 1 day ago
  • RT @msdevjp: ジャパン・インターカルチュラル・コンサルティング社 社長 Rochelle Kopp 氏と米マイクロソフト DevOps エバンジェリスト 牛尾 は、DevOpsなどが日本に導入できない理由を、これらが西洋の問題を解決するためのものだからだと指摘。 #… 2 days ago

clustermap

ブログ統計情報

  • 955,338 hits

Feeds