WebSphereで別のアプリサーバを立てる
運用中のWebアプリ*1でOutOfMemoryが出た。
作りが悪いのは置いといて(^_^;)、開発環境で再現テストして解析しようにも、WAS自体が落ちてしまって別のアプリまで止まってしまう。
これを機に、別のアプリサーバを立てて検証環境を作ることにする。いきなりはコワイので、VMWareで仮想環境を作り、お試し版のWAS6.1を入れて試行してみた。
その一 単純に別サーバを作成
IBMのinfoCenterのマニュアル*2をひっくりかえして調べた結果、下記のようにすれば良いことが分かった。
wsadminの起動
cd インストールディレクトリ/AppServer/profiles/AppServ01 bin/wsadmin.sh -user WAS管理ユーザ名 -password パスワード
nodeセット
set node [$AdminConfig getid /Node:ノード名/]
サーバ作成
$AdminConfig create Server $node {{name 2個目のサーバ名} {outputStreamRedirect {{fileName ログファイルのパス*3}}}}
構成情報保管
$AdminConfig save
しかし、この方法では問題があることが判明。
- アプリ起動ができない
- 管理コンソールからは「別サーバにあるので起動できない」と言われ、
- wsadminからだと、そもそもサーバのオブジェクトが取得できなかった*4
2個目のサーバ設定・アプリ配備は問題なくできるのだが、アプリの起動・停止ができない。サーバの起動でアプリも起動しているので、ちゃんとアクセスはできるのだが…。
- 管理コンソールのモニタが使えない
管理コンソール自体が1個目のサーバに配備されているためか、2個目のサーバのモニタができない。これだとJVMのメモリ監視がかったるい。第一、1個目のサーバが落ちてしまうと管理コンソール自体が使えない。2個目のサーバにも管理コンソールを配備すれば良いのだろうが、配備・設定が面倒くさい。
こんなわけで、今回の目的(サーバが落ちても他のアプリに影響しない)にはそぐわないと判断。
次回へ続く