Автозапуск домена Weblogic с помощью опции Crash Recovery

Автозапуск домена Weblogic с помощью опции Crash Recovery

Среди многочисленных вариантов автоматического запуска серверов веблоджика (я имею ввиду админ и менеджед серверы) в операционных системах Windows и Linux существует один универсальный способ, при котором достаточно установленного в виде службы nodemanager'а. Первоначальный старт серверов веблоджика осуществляется через nodemanager, после чего опция crash recovery поддерживает их в запущенном состоянии, в том числе выполняет их автоматический запуск после перезагрузки сервера (я имею ввиду аппаратную платформу и ОС).

В первую очередь проверяем, что nodemanager установлен как служба и работает. Если нет, то читаем пост про установку nodemanager в виде службы Linux.
ps -ef | grep nodemanager

Редактируем настройки nodemanager'а.
nano /oracle/Middleware/wlserver_10.3/common/nodemanager/nodemanager.properties

StartScriptName=startWebLogic.sh
StopScriptName=stopWebLogic.sh
StopScriptEnabled=true
CrashRecoveryEnabled=true
StartScriptEnabled=true


Запускаем АдминСервер с помощью /oracle/Middleware/user_projects/domains/base_domain/startWeblogic.sh и подключаемся к нему через Weblogic Scripting Tool (WLST).
. /oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
/oracle/Middleware/wlserver_10.3/common/bin/wlst.sh

После запуска WLST нужно выполнить:
connect('weblogic','Password123','t3://localhost:7001')
nmEnroll(domainDir='/oracle/Middleware/user_projects/domains/base_domain',nmHome='/oracle/Middleware/wlserver_10.3/common/nodemanager')

Теперь нужно остановить АдминСервер и перезапустить nodemanager. Когда все будет готово, вновь запускаем WLST и подключаемся к nodemanager'у:
nmConnect(domainName="base_domain", username="weblogic", password="Password123")
nmStart("AdminServer")
exit()

На предыдущем скрине показано как выглядит nmConnect() для домена в режиме Development. Для домена в режиме Production логин и пароль nodemanager'а генерируется случайным образом. Подробнее об этом я писал в посте про восстановление пароля к nodemanager'у.

Далее нужно зайти в http://AdminServer:7001/console и запустить менеджед серверы через веб-интерфейс. Для этого нужно на вкладке Control отметить галочкой нужный сервер и нажать Start.

Команды на запуск менеджед серверов будут выполнены через nodemanager, поэтому Crash Recovery будет активен также и для них. О том, что серверы запущены через nodemanager, свидетельствует такое сообщение.

При запуске в директории сервера (которая расположена внутри домена) nodemanaer'ом будут созданы файлы, содержащие информацию о состоянии сервера.

Когда серверы будут запущены, в консоле администрирования это будет выглядеть так:

Тестируем crash recovery. После выполнения команды kill, АдминСервер сам перезапустится. Чтобы убедиться в этом нужно выполнить такую последовательность команд:
ps -ef | grep AdminServer
less /oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/data/nodemanager/AdminServer.pid
kill -9 #сюда_нужно_подставить_номер_из_файла_AdminServer.pid

и через небольшой промежуток времени проверяем его снова с помощью этих же команд:
ps -ef | grep AdminServer
less /oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/data/nodemanager/AdminServer.pid

Так это выглядит у меня:

Оставить комментарий