weblogic server運用管理 - 管理対象サーバ起動方法の選定
Post on 24-May-2015
5.261 Views
Preview:
DESCRIPTION
TRANSCRIPT
第25回 WebLogic Server勉強会 LT資料
やっぱりWebLogic!グループ 道脇 翔平
Twitter @mitchydeath Powered by @yamadamn
勉強会ではお話しできなかったLinux環境の起動方法についても 後半のシートで紹介しています 2012年6月28日
管理対象サーバを起動する事が出来る 方法は?
1. 起動スクリプト(startManagedWebLogic)を実行する
2. WLSTのnmStart()コマンド
4. 管理コンソール上から起動
3. WLSTのstart()コマンド
5. Windowsサービスに登録し、起動
管理対象サーバを起動する事が出来る 方法は?
1. 起動スクリプト(startManagedWebLogic)を実行する
2. WLSTのnmStart()コマンド
4. 管理コンソール上から起動
3. WLSTのstart()コマンド
5. Windowsサービスに登録し、起動 以上、全ての方法で起動が出来る。
※Linux環境ではさらに他の起動方法もある
観点
②信頼性
③起動設定のしやすさ(保守性)
①自動化が出来るか
環境 Windows Server 2008(32bit) Oracle WebLogic Server 11gR1(10.3.6)
1. 起動スクリプト
3. WLSTのstart()
2. WLSTのnmStart() ○(コマンドで実行可能)
①自動化が出来るか(いきなりまとめ)
4. 管理コンソール ×(すべて手動)
5. Windowsサービス ○(コマンドで実行可能)
②信頼性
Q.起動方法で 信頼性が変わるの?
A.変わります
WebLogicドメイン
管理 サーバ
管理対象 サーバ
マシン
起動 スクリプト
> startManagedWebLogic ・・・管理対象サーバを起動するスクリプト
・プロセスツリー
startManagedWebLogic
startWebLogic
java weblogic.Server # 管理対象サーバ
> startWebLogic ・・・管理サーバを起動するスクリプト
WebLogicドメイン
管理 サーバ
管理対象 サーバ
マシン
> java weblogic.WLST > nmConnect() # ノードマネージャに接続 > nmStart() # 管理対象サーバ(管理サーバ)を起動
WLST
ノードマネージャ
・プロセスツリー
startNodeManager
java weblogic.NodeManager # ノードマネージャ
java weblogic.Server # 管理対象サーバ
WebLogicドメイン
管理 サーバ
管理対象サーバ
管理対象 サーバ
マシン1 マシン2
> java weblogic.WLST > connect() #管理サーバに接続 > start() #管理対象サーバを起動
WLST
ノード マネージャ
ノード マネージャ
WLST
接続
起動
シングルポイント障害
(プロセスツリーはnmStart()と同じ)
WebLogicドメイン
管理 サーバ
管理対象 サーバ
マシン
Windowsサービス
beasvc.exe ・・・Windowsサービスから起動した際に 実行されるプロセス (WLS12cではwlsvc.exe)
・プロセスツリー
beasvc (このプロセスのみ)
1. 起動スクリプト
3. WLSTのstart() コマンド
2. WLSTのnmStart()コマンド
・start()による起動方法は、
他の起動方法に比べて信頼性が若干低くなる
5. Windowsサービス
○○△○
管理対象サーバ
ノードマネージャ
WLST
使える
ノードマネージャの機能を
管理対象 サーバ
管理対象 サーバ
起動 スクリプト
起動
Windows サービス
起動
1.起動スクリプト & 5.Windowsサービス 2.WLSTのnmStart()コマンド
使えない
・管理対象サーバ(javaプロセス)に 障害が発生した際、管理対象サーバの 自動再起動を行わせる事が出来る。 ※障害(OutOfMemory、 スレッドが長時間停止した状態等)
1. 起動スクリプト
3. WLSTのstart() コマンド
2. WLSTのnmStart()コマンド
・start()による起動方法は、
他の起動方法に比べて信頼性が若干低くなる
・nmStart()による起動方法は、ノードマネージャの 機能を使用する事で信頼性が高くなる。
5. Windowsサービス
○◎△○
ここでいう起動設定とは ・java起動時に渡す引数 (クラスパス等)
管理 サーバ
管理対象
サーバ
起動 スクリプト
管理対象サーバ
ノードマネージャ
WLST
起動スクリプトを直接編集 管理コンソールから編集
起動方法によって設定個所が変わる。
2. 起動スクリプト 3. WLSTのnmStart()コマンド
管理 サーバ
管理対象 サーバ
起動 スクリプト
『トラブルに強いWebLogic Serverの設計と構築』http://www.slideshare.net/OracleMiddleJP/ weblogic-server-weblogic-server
起動スクリプトを直接編集する(以下詳細)
複数ある管理対象サーバを一括して設定できる
管理コンソールにて、左ペインの[環境]⇒[サーバー]を選択。
右ペインの[管理対象サーバ名]⇒[構成]タブ⇒[サーバーの起動]タブ
管理対象サーバごとにタブが 用意されている
& 設定個所が多い
http://docs.oracle.com/cd/E28389_01/web.1111/b60998/overview.htm 詳細⇒
http://docs.oracle.com/cd/E28389_01/web.1111/b60991/winservice.htm
詳細 ⇒
echo off SETLOCAL set DOMAIN_NAME=weblogic_domain set USERDOMAIN_HOME=C:¥Oracle¥Middleware¥user_projects¥domains¥weblogic_domain set WLS_USER=weblogic set WLS_PW=****** set SERVER_NAME=ManagedServer set PRODUCTION_MODE=true set JAVA_OPTIONS=-~" set ADMIN_URL=http://localhost:7001 set MEM_ARGS=-Xms512m -Xmx512m call "C:¥Oracle¥Middleware¥wlserver_10.3¥server¥bin¥installSvc.cmd" ENDLOCAL
左図の様なバッチを作成し、 所定のディレクトリに配置、 実行する事で、 Windowsサービスに 登録される。
※登録後、起動設定の変更を
行う場合はサービスの再登録が必要
・起動スクリプトは編集する際の 設定個所が他の起動方法と比べて 少ないため、保守性が高い
1. 起動スクリプト
3. WLSTのstart() コマンド
2. WLSTのnmStart()コマンド
5. Windowsサービス
◎△△△
観点 起動方法
①自動化 ②信頼性 ③設定しやすさ (保守性)
起動スクリプト ○ ○ ◎ nmStart() ○ ◎ △ start() ○ △ △ 管理コンソール × △ △ Windowsサービス ○ ○ △
起動スクリプトとnmStart()がおしい・・・
信頼性も保守性も 高く出来る方法があります
[WL_HOME]¥common¥nodemanager¥ nodemanager.properties
StartScriptEnabled=false
StartScriptEnabled=true
以上のように変更する事で・・・
(~WLS11gデフォルト)
(~WLS12c デフォルト)
管理 サーバ
管理対象 サーバ
起動 スクリプト
起動
ノードマネージャ
2.nmStart()(nodemanager.properties変更後)
= nmStart()での起動時には ノードマネージャの機能を使える & 起動スクリプト内で設定変更を行える
・プロセスツリー startNodeManager
java weblogic.NodeManager # ノードマネージャ
startWebLogic
java weblogic.Server # 管理対象サーバ
観点 起動方法 ①自動化 ②信頼性 ③設定しやすさ
(保守性)
起動スクリプト ○ ○ ◎ nmStart() ○ ◎ △ start() ○ △ △ 管理コンソール × △ △ Windowsサービス ○ ○ △ nmStart() (nodemanager.properties変更後)
○ ◎ ◎
起動スクリプトとノードマネージャの好いとこ取りができる!
nodemanager.propertiesの変更を行い、 WLSTのnmStart()コマンドを使用する方法が、 信頼性、保守性という面で一番優れている。 (12cからは設定変更がデフォルトで行われている)
なお、
上記の方法以外では、start()を使用する起動方法以外は どれも一長一短。 ノードマネージャの機能に拘らなければ 他の起動方法(start()以外)を選んでも問題はない。と思う
Windows環境の起動方法に加え、
「wlscontrol(スクリプトベースのノードマネージャ)を使用して管理対象サーバを起動する」 という起動方法がある。
※信頼性、保守性はnmStart()に変わりない。 ただし、こちらの方が起動手順は簡単。 (ちなみにnmStart()での起動方法は「Javaベースの ノードマネージャ」を使用している)
※このシートから、勉強会では時間の都合上 お話しできなかった内容になります。
管理 サーバ
管理対象 サーバ
起動 スクリプト
起動
ノードマネージャ
・プロセスツリー wlscontrol # スクリプトベースのノードマネージャ
startWebLogic
java weblogic.Server # 管理対象サーバ
※基本的にnmStart()と同じフロー。 起動設定は起動スクリプト内で行い、 もちろんノードマネージャの機能も使用可能。
[WL_HOME]/common/bin/wlscontrol.sh -d %D -r %R -c -s %S START
%D:WebLogicドメイン名
%R:ドメインディレクトリ %S:管理対象サーバ名
以上のコマンドのみで起動する事が出来るため、
あらかじめノードマネージャを起動しておく必要がない
http://docs.oracle.com/cd/E28389_01/web.1111/b60998/script_nodemgr.htm http://docs.oracle.com/cd/E28389_01/web.1111/b60998/starting_nodemgr.htm
詳細 ⇒
※別マシンから起動させる場合はSSHを使用したホスト認証を行っておく必要がある
観点 起動方法 ①自動化 ②信頼性 ③設定しやすさ
(保守性)
起動スクリプト ○ ○ ◎ nmStart() ○ ◎ △ start() ○ △ △ 管理コンソール × △ △ nmStart() (nodemanager.properties変更後)
○ ◎ ◎
wlscontrol.sh ○ ◎ ◎
wlscontrol.sh(スクリプトベースのノードマネージャ)
を使用した起動方法は信頼性、保守性も高く nmStart()コマンドより起動方法が簡単である。
Windows環境同様、ノードマネージャの機能が 必要でなければ、起動スクリプトによる起動方法でも 機能性に問題はない。
ご静聴ありがとうございました
top related