Esta es la segunda parte del post Configuración de Dominio WebLogic, en el que de manera básica creamos y configuramos un dominio WebLogic.
WebLogic Server incluye un servicio extra denominado Node Manager que nos brinda los siguientes beneficios:
- Administración del ciclo de vida de los servidores WebLogic, incluyendo el servidor de administración. Nos permite iniciar, detener, pausar o reiniciar las instancias WebLogic.
- Monitoreo de los servidores WebLogic para determinar su estatus, teniendo la capacidad de reiniciarlos automáticamente.
- Nos permite administrar el ciclo de vida de los servidores desde la Consola de Administración WebLogic. Si los servidores WebLogic no tienen un Node Manager asociado no pueden ser manejados desde la Consola.
- Esta habilitado para recuperar los archivos log de los servidores, útil en escenarios en donde por razones de seguridad la Consola de Administración no esta disponible y/o no tenemos acceso al sistema de archivos.
- En arquitecturas de alta disponibilidad registra e inicia las direcciones de IP, flotantes, para los servidores manejados, etc.
En el post anterior (Configuración de Dominio WebLogic) durante la creación del dominio se realizo la asignación de una máquina a los servidores WebLogic, requisito para la administración con Node Manager. De manera lógica, una maquina establece un enlace entre uno o más servidores WebLogic y un Node Manager.
Desde la Consola de Administración también podemos realizar dicha asociación cuando el dominio ya fue creado. Realiza los siguientes pasos para asociar una máquina a un servidor WebLogic desde la Consola de Administración.
- Crear una máquina con la dirección IP y puerto de un servicio Node Manager, el cual será el responsable para administrar el servidor WebLogic. En este ejemplo creo una máquina de tipo Unix y Plain (Plano, dado que no vamos a utilizar SSL).
- En la sección de configuración del Servidor WebLogic, seleccionar la máquina con la que se desea asociar.
El objetivo de esta entrada es ejemplificar como podemos comenzar a trabajar con Node Manager una vez que nuestros servidores WebLogic ya están asociados a una maquina.
Por default, la instalación WebLogic genera un directorio "home" en el que se encuentran todos los archivos de configuración para ejecutar un servicio Node Manager. Este directorio se encuentra en la siguiente ruta:
$NM_HOME= $MW_HOME/wlserver_10.3/common/nodemanager
Nota: Inicialmente este directorio cuenta con un sólo archivo (nodemanager.domains), el resto se puede auto-generar después de iniciar por primera vez el servicio.
1. Nos aseguramos que nuestro dominio esta registrado en el Node Manager. Abrimos el archivo nodemanager.domains y lo comprobamos, por ejemplo:
--- nodemanager.domains ---
#Domains and directories created by Configuration Wizard
#Fri Dec 21 14:56:30 CST 2012
jupiter_domain=/opt/oracle/mw/user_projects/domains/jupiter_domain
-------------------------------
2. Iniciamos el servicio Node Manager con la dirección IP y puerto que especificamos en la configuración de la maquina asociada a los servidores WebLogic.
Para iniciar el servicio debemos ir a la ruta $MW_HOME/wlserver_10.3/server/bin y ejecutar el script startNodeManager.sh, por ejemplo:
$./startNodeManager.sh 10.1.120.50 15556
Si el servicio inicia correctamente deberíamos ver algo como lo siguiente:
Detenemos el servicio con sólo teclear Ctrl + C.
Comprobamos que el programa generó los archivos de configuración del Node Manager. En nuestro NM_HOME estarán los siguientes archivos:
nm_data.properties
nodemanager.domains
nodemanager.log
nodemanager.properties
4. En este ejemplo voy a editar el archivo nodemanager.properties para modificar los siguientes parámetros:
Parámetro
|
Descripción
|
Valor por defecto
|
Nuevo valor
|
SecureListener
|
El servicio Node Manager requiere SSL.
|
true
|
false
|
CrashRecoveryEnabled
|
Mantiene el estado de ejecución (detenido, en ejecución) de los
servidores WebLogic después de un reinicio del sistema operativo.
|
false
|
true
|
StartScriptEnabled
|
Utiliza el script startWebLogic.sh o startWebLogic.cmd
para iniciar los servidores WebLogic.
|
false
|
true
|
Nota: El parámetro SecureListener obliga al Node Manager a utilizar SSL lo cual esta fuera de este ejemplo.
5. Nuevamente iniciamos el Node Manager, en esta ocasión ya no es necesario especificar la dirección ni el puerto. Si la edición fue correcta veremos algo como lo siguiente:
Hasta aquí el servicio de Node Manager ya esta listo para administrar nuestros servidores WebLogic.
6. Asumiendo que el servidor de administración no se encuentra en ejecución tenemos dos opciones para iniciarlo:
- Iniciarlo a través del Node Manger con lo que éste último tendrá el control para iniciarlo, detenerlo, etc.
- Iniciarlo con el script startWebLogic.sh con lo que el Node Manager no tiene acción sobre el servidor administración, pero si puede tener sobre el resto de servidores manejados.
En este ejemplo voy a iniciar el servidor de administración con el script startWebLogic.sh, como se indica en el post anterior. Iniciarlo a través del Node Manager implica una configuración extra además de cierto conocimiento en WLST, lo dejaremos para otro post.
7. Una vez que el servidor de administración esta en ejecución, y la Consola de Administración esta disponible, podemos habilitar las opciones para que el Node Manager reinicie automáticamente algún servidor en caso de haber detectado un estado crítico.
Finalmente desde la misma consola ya podemos iniciar, parar, pausar y resumir nuestros servidores manejados.
Espero que esto les sirva, bienvenida cualquier duda o comentario.