čtvrtek 3. března 2011

OBIEE11g - Jak spouštět WebLogic Managed Server pomocí služeb v MS Windows

Návod navazuje na předchozí článek, který popisuje jak spouštět WebLogic AdminServer.

Po instalaci Oracle BI EE 11g se aplikační server WebLogic spouští pomocí dodaných skriptů (StartWebLogic.cmd a StartManagedWebLogic.cmd). Nevýhodou tohoto způsobu je, že zůstanou na ploše otevřená okna, do kterých WebLogic Server zapisuje svoji činnost. Pokud uživatel okna uzavře nebo se odhlásí od systému, WebLogic Server se okamžitě vypne.

Pokud chcete, pak WebLogic Server můžete spouštět na pozadí pomocí služeb MS Windows. V dokumentaci k WebLogic Serveru je popsáno, jak takovou službu vytvořit. Pro potřeby OBIEE je však tento postup nedostačující, protože takto vytvořená služba bude spouštět pouze WebLogic Server Administration Console, nikoliv však Oracle Fusion Middleware Enterprise Manager, pomocí kterého lze pak administrovat OBIEE.

Postup implementace

1. Vytvoření automatického zadávání hesla

Aby se spouštěcí skript neptal uživatele na jméno a heslo, je potřeba tyto údaje vložit do souboru boot.properties. Viz návod zde.

2. Spuštění standardním způsobem – ověření předchozí změny
Pro ověření správného nastavení předchozího kroku je nutné restartovat ManagedServer (zatím stále běžným způsobem pomocí skriptu z příkazové řádky).

3. Nastavení proměnných prostředí #1
Upozornění: Všechny další kroky je potřeba provádět z příkazové řádky cmd.exe. Zároveň všechny kroky musejí být provedeny v jedné session příkazové řádky, tzn. okno s příkazovou řádkou nesmí být mezi jednotlivými kroky uzavřeno. V takovém případě by se smazal obsah proměnných. Prvním příkazem je spuštění souboru:
…\OracleBI11\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd

4. Nastavení proměnných prostředí #2
Další proměnné prostředí je potřeba nastavit ručně v příkazové řádce, nebo pomocí vytvořeného dávkového souboru spuštěného z příkazové řádky:
set DOMAIN_NAME=bifoundation_domain
set USERDOMAIN_HOME=…\OracleBI11\user_projects\domains\bifoundation_domain
set SERVER_NAME=bi_server1
set JAVA_VM=-jrockit
set MAX_CONNECT_RETRIES=200
set HOST=192.168.10.20
set PORT=7001
set ADMIN_URL=http://192.168.10.20:7001

Význam těchto parametrů je dobře popsán v dokumentaci. Zde uvedené hodnoty parametrů jsou pouze informativní. Je potřeba je před spuštěním upravit na základě hodnot, které jsou zadány při instalaci. Pokud byla instalace provedena defaultním způsobem, je potřeba upravit pouze IP adresu v proměnné HOST a cestu k doméně v proměnné USERDOMAIN_HOME.

5. Vytvoření služby
Posledním krokem je spuštění skriptu …\OracleBI11\wlserver_10.3\server\bin\installSvc.cmd, čímž se vytvoří služba v registrech Windows. Název služby začíná "beasvc", pak následuje jméno domény a jméno serveru.


Nyní je služba vytvořena a okno s příkazovou řádkou může být zavřeno.

Ověření správné instalace
První spuštění nově vytvořené služby je dobré provést z příkazové řádky takto:
…\OracleBI11\wlserver_10.3\server\bin\beasvc.exe –debug "beasvc bifoundation_domain_bi_server1"

Tímto způsobem je možné sledovat spouštění Weblogic Serveru v okně, jak jej známe při klasickém spouštění z příkazové řádky. Jakmile se v okně objeví řádky "RUNNING", WebLogic ManagedServer je spuštěn. Pokud by během startování došlo k chybě, uživatel ji uvidí přímo na obrazovce nebo v klasickém log souboru: …\OracleBI11\user_projects\domains\bifoundation_domain\servers\bi_server1\logs\bi_server1.log

Dodatečná úprava parametrů
Pokud se při startu vyskytla chyba, nebo kdykoliv později dle potřeby je možné změnit parametry této služby.

Nejčistější způsob je smazání původní služby a vytvoření nové dle výše uvedeného postupu. Tento způsob je však časově náročný a při změně pouze jednoho méně důležitého parametru zbytečný.

Druhým způsobem je využití interního příkazu Windows z příkazové řádky"sc.exe". Tento způsob je sice nepřehledný, ale bezpečný z pohledu systému Windows.

Třetím způsobem je přímá editace klíčů v registru. Služba se nachází ve složce HKLM\SYSTEM\CurrentControlSet\Services\beasvc bifoundation_domain_bi_server1.


Samotné parametry jsou v podadresáři Parameters.


Práce v registrech je velmi přehledná. Na druhou stranu umožňuje dělat i takové změny, které mohou vést k nefunkčnosti celého systému Windows.

Nejčastější prováděné změny mohou být například přejmenování služby (klíč DislpayName), změna cesty k Java JDK (klíč JavaHome) nebo úprava velikosti alokované paměti (klíč CmdLine a hodnoty -Xms a -Xmx).

Závislosti
Při vytváření služby pro ManagedServer je možné nastavit závislost služby na službě spouštějící AdminServer (pokud jsou instalovány na stejném serveru), případně na dalších službách (OPMN, DB). Závislost lze nastavit pomocí příkazu "sc.exe config".

Nastavení závislosti způsobí, že při startu ManagedServeru se nejprve spustí AdminServer, pokud ještě neběžel. Veškeré informace jsou v dokumentaci.

Chybová hláška systému Windows při spouštění
Standardní čas, během kterého systém Windows čeká, zda byla služba úspěšně spuštěna, je 120 sekund. Pokud se služba do této doby nespustí, objeví se chybové hlášení.


Start WebLogic Serveru většinou trvá 2-5 minut podle výkonnosti serveru. Výskytu této hlášky můžeme zamezit změnou tohoto limitu v registrech.

Ve složce HKLM\SYSTEM\CurrentControlSet\Control je potřeba vytvořit nový klíč typu DWORD s názvem "ServicePipeTimeout" a vložit hodnotu, která říká, jak dlouho bude systém čekat na spuštění služby. Čas se zadává v milisekundách a pro přehlednost v desítkové soustavě. Pak je potřeba systém restartovat.


Ve chvíli, kdy se systém restartuje nebo vypíná, snaží se ukončit všechny běžící služby a čeká standardně 60 sekund. Poté službu násilně ukončí. Ukončení služeb WebLogic Serveru by mohlo trvat déle, proto je dobré tento limit zvýšit. Stačí změnit hodnotu klíče "WaitToKillServiceTimeout" ve stejné složce.

Ostatní části architektury
Výše uvedený postup spouští pouze WebLogic Managed Server. První část WebLogic Admin Server musí být spuštěna standardním způsobem z příkazové řádky, nebo obdobným způsobem vytvořenou službou Windows - popis viz. zde.

Ostatní komponenty celé OBIEE11g architektury mají své Windows služby (Oracle Process Manager a Oracle WebLogic Node Manager) vytvořené během instalace. Předpokládá se, že budou touto cestou spouštěny.
Testováno v prostředí
  • Windows Server 2008 SP2 32-bit
  • Oracle Business Intelligence 11.1.1.3.0
  • WebLogic Server 10.3.3.0
  • JRockit 1.6.0.17
  • Java JDK 1.6.0.18


Michal Nový (konzultant společnosti Aquasoft)

Žádné komentáře: