En este capítulo se describe Agent Builder de SunPlex y el módulo Cluster Agent para Agent Builder, herramientas que automatizan la creación de los tipos de recursos, o servicios de datos, para ejecutarlos bajo el Gestor de grupos de recursos (RGM). Un tipo de recurso es, básicamente, un envoltorio que rodea una aplicación para que pueda funcionar en un entorno del clúster, bajo el control de RGM.
Agent Builder proporciona una interfaz basada en pantallas para introducir información sencilla sobre la aplicación y el tipo de recurso que se desea crear. De acuerdo con la información introducida, Agent Builder genera el software siguiente:
Un conjunto de archivos de origen (shells C, Korn (ksh) o GDS (servicio genérico de datos) para un tipo de recurso a prueba de fallos o escalable, según las rellamadas del método del tipo de recurso
Un archivo personalizado de Registro de tipo de recurso (RTR) (si se genera un origen en los shells C o Korn)
Secuencias de utilidades personalizadas para iniciar, detener y eliminar una instancia (recurso) del tipo de recurso, además de páginas de comando man personalizadas que explican cómo usar esos archivos
Un paquete Solaris que incluye los binarios (si se genera un origen en C), un archivo RTR (si se genera un origen en los shells C o Korn) y las secuencias de utilidades
Los temas que abarca este capítulo son los siguientes:
Esta sección explica cómo utilizar Agent Builder, incluidas las tareas previas, y cómo usarlo después de haber generado el código del tipo de recurso.
Antes de usar Agent Builder debe determinar si la aplicación cumple los criterios para tener una alta disponibilidad y escalabilidad. Agent Builder no puede realizar este análisis, que se basa únicamente en las características de tiempo de ejecución de la aplicación. En Análisis de la validez de la aplicación puede obtener más información sobre este tema.
Es posible que Agent Builder no pueda crear siempre un tipo de recurso completo para una aplicación, aunque en la mayoría de los casos facilitará al menos una solución parcial. Por ejemplo, algunas aplicaciones más complejas pueden requerir un código adicional que Agent Builder no genera de forma predeterminada, como el código para agregar comprobaciones de validación de propiedades adicionales o para ajustar parámetros que Agent Builder no muestra. En esos casos, es necesario realizar cambios en el código fuente generado o el archivo RTR. Agent Builder está diseñado precisamente para permitir esta flexibilidad.
Agent Builder sitúa comentarios en determinados puntos del código fuente generado para que se pueda añadir código del tipo de recurso concreto. Después de hacer cambios en el código fuente, se puede usar el makefile generado por Agent Builder para recompilar el código fuente y volver a generar el paquete del tipo de recurso.
Aunque se escriba todo el código del tipo de recurso sin utilizar ningún código generado por Agent Builder, se puede aún aprovechar el makefile y la estructura que facilita Agent Builder para crear el paquete de Solaris para ese tipo de recurso.
Agent Builder no requiere ninguna instalación especial. Agent Builder se incluye en el paquete SUNWscdev que se instala de forma predeterminada con la instalación estándar del software Sun Cluster (en Sun Cluster Software Installation Guide for Solaris OS encontrará más información). Antes de utilizar Agent Builder, compruebe la información siguiente:
Java se incluye en la variable $PATH. Agent Builder depende de Java (Java Development Kit versión 1.3.1 o superior). Si Java no está en $PATH, scdsbuilder retorna con un mensaje de error.
Si ha instalado el grupo de software “Sistema de soporte del desarrollador” de Solaris 8 o superior.
El compilador cc se incluye en la variable $PATH. Agent Builder utiliza la primera aparición de cc en la variable $PATH para identificar el compilador con el que generará código binario de C para el tipo de recurso. Si cc no está incluido en $PATH, Agent Builder inhabilita la opción para generar código en C (consulte Uso de la pantalla de creación.
Con Agent Builder puede usar un compilador diferente del compilador cc estándar. Para ello debe crear un vínculo simbólico en $PATH de cc a un compilador diferente, como gcc, o bien cambiar la especificación del compilador en el makefile (actualmente, CC=cc) a la ruta completa de un compilador diferente. Por ejemplo, en el makefile que genera Agent Builder, cambie CC=cc por CC=nombre_ruta/gcc. En este caso, no es posible ejecutar directamente Agent Builder. Utilice las órdenes make y make pkg para generar un código de servicio de datos y un paquete.
Para ejecutar Agent Builder escriba la orden siguiente:
% /usr/cluster/bin/scdsbuilder |
Aparece la pantalla inicial de Sun Builder, como muestra la figura siguiente.
Es posible acceder a Agent Builder a través de una interfaz de línea de órdenes (consulte Utilización de la versión de línea de órdenes de Agent Builder) si la versión de la GUI no estuviera accesible.
Agent Builder proporciona dos pantallas que sirven de guía del proceso de creación de un nuevo tipo de recurso:
Creación: en esta pantalla se suministra información básica sobre el tipo de recurso que se va a crear, como el nombre y el directorio de trabajo (es decir, el directorio en el que se crea y configura la plantilla del tipo de recurso) de los archivos generados. También se indica el tipo de recurso que se va a crear (escalable o a prueba de fallos), si la aplicación básica va a estar habilitada para la red (es decir, si utiliza la red para comunicarse con los clientes) y el tipo de código (C, ksh o GDS) que se va a generar. Para obtener información sobre GDS (servicio genérico de datos), consulte el Capítulo 10. Debe introducir la información de esta pantalla y seleccionar Crear para generar la salida correspondiente, antes de poder mostrar la pantalla de configuración.
Configuración: en esta pantalla se le pide que proporcione una orden para iniciar la aplicación. También puede proporcionar órdenes para detener y analizar la aplicación. Si no especifica estas órdenes, la salida generada utiliza señales para detener la aplicación y proporciona un mecanismo de análisis predeterminado (si desea ver la descripción de la orden de análisis, consulte Utilización de la pantalla de configuración). Esta pantalla también permite cambiar los valores de tiempo de espera para las tres siguientes órdenes.
Si ejecuta Agent Builder desde el directorio de trabajo de un tipo de recurso, Agent Builder inicializa las pantallas de creación y configuración para incluir los valores del tipo de recurso.
Consulte Desplazamientos por Agent Builder si tiene alguna duda sobre cómo utilizar cualquiera de los botones u órdenes de menú en las pantallas de Agent Builder.
El primer paso para crear un tipo de recurso consiste en cumplimentar la pantalla de creación que aparece al ejecutar Agent Builder. La figura siguiente muestra la pantalla de creación después de haber introducido la información en los campos.
La pantalla de creación contiene los campos, botones de selección y casillas de verificación siguientes:
Nombre proveedor: el nombre para identificar el proveedor del tipo de recurso. Generalmente, se especifica el símbolo bursátil del fabricante, pero se puede utilizar cualquier nombre que lo identifique de forma única. Utilice únicamente caracteres alfanuméricos.
Nombre de aplicación: el nombre del tipo de recurso. Utilice únicamente caracteres alfanuméricos.
El nombre de la aplicación y del fabricante, juntos, componen el nombre completo del tipo de recurso. El nombre completo no puede superar los nueve caracteres.
Directorio de trabajo: el directorio en el cual Agent Builder crea una estructura de directorios para acoger todos los archivos que se creen para el tipo de recurso de destino. Sólo se puede crear un tipo de recurso por directorio de trabajo. Agent Builder indica en este campo la ruta al directorio desde el que se ha ejecutado Agent Builder, aunque se puede escribir un nombre diferente o utilizar el botón Examinar para buscar un directorio diferente.
En el directorio de trabajo, Agent Builder crea un subdirectorio con el nombre del tipo de recurso. Por ejemplo, si SUNW es el nombre del fabricante y ftp el de la aplicación, Agent Builder llamará al subdirectorio SUNWftp.
Agent Builder coloca todos los directorios y archivos del tipo de recurso de destino en este subdirectorio (consulte Estructura de directorios).
Escalable o A prueba de fallos: especifique si el tipo de recurso de destino va a ser a prueba de fallos o escalable.
Identificación de red: especifique si la aplicación base detecta la red, es decir, si usa ésta para comunicarse con sus clientes. Marque la casilla para especificar si se debe detectar la red; déjela sin marcar para que la red no se debe tener en cuenta. El código del shell Korn requiere que la aplicación esté habilitada para red. Por eso, Agent Builder marca la casilla y la ensombrece si usted selecciona los botones ksh o GDS.
C, ksh: especifica el lenguaje del código fuente generado. Aunque estas opciones se excluyen mutuamente, con Agent Builder puede crear un tipo de recurso con código generado con ksh y reutilizar la misma información para crear código generado con C (consulte Clonación de un tipo de recurso).
GDS: especifica que este servicio es un servicio genérico de datos. Consulte el Capítulo 10 para obtener información sobre la creación y configuración de un servicio genérico de datos.
Si el compilador cc no está en $PATH, Agent Builder oscurece el botón de la opción de C y selecciona el botón ksh. Para especificar un compilador diferente, consulte la nota al final de Instalación y configuración de Agent Builder.
Después de haber introducido la información solicitada, haga clic en el botón Crear. El registro de salida de la parte inferior de la pantalla muestra las acciones que está realizando Agent Builder. Puede utilizar la orden Guardar registro de salida del menú Editar para guardar la información en el registro.
Al finalizar, Agent Builder muestra un mensaje de realización satisfactoria o de advertencia que indica que no ha sido posible completar esta operación satisfactoriamente y que se debería comprobar el registro de salida para ver los detalles.
Si Agent Builder concluye con éxito, haga clic en el botón Siguiente para que aparezca la pantalla de configuración que permitirá terminar de generar el tipo de recurso.
Aunque la generación de un tipo de recurso completo es un proceso de dos pasos, es posible salir de Agent Builder después de terminar el primer paso (creación) sin perder la información introducida ni el trabajo que ha realizado Agent Builder (consulte Reutilización del trabajo terminado).
La pantalla de configuración (figura siguiente) aparece después de que Agent Builder haya terminado de crear el tipo de recurso y de que se haya seleccionado el botón Siguiente en la pantalla de creación. No se puede acceder a la pantalla de configuración sin haber creado el tipo de recurso con anterioridad.
La pantalla de configuración contiene los campos siguientes:
Orden de inicio: la línea de órdenes completa que se puede pasar a cualquier shell de UNIX para iniciar la aplicación básica. Es necesario especificar esta orden. Se puede escribir la orden en el campo suministrado o utilizar el botón Examinar para localizar un archivo que contenga la orden para iniciar la aplicación.
La línea de órdenes completa debe incluir todo lo necesario para iniciar la aplicación, como nombres de sistema, números de puerto, una ruta a los archivos de configuración, etc. Si la aplicación requiere que se especifique un nombre de sistema en la línea de órdenes, se puede usar la variable $hostnames que define Agent Builder (consulte Utilización de la variable $hostnames de Agent Builder).
No ponga la orden entre comillas dobles (““).
Si la aplicación básica tiene muchos árboles de procesos independientes, cada uno de los cuales se inicia con su propia etiqueta, bajo el control de PMF, no será posible especificar una sola orden. En su lugar, se debe crear un archivo de texto con órdenes individuales para iniciar cada árbol de procesos y especificar la ruta a este archivo en el campo de texto Orden de inicio. Consulte Creación de tipos de recursos con varios árboles de proceso independientes, donde se enumeran algunas características especiales, necesarias para que el archivo funcione correctamente.
Orden de parada: la línea de órdenes completa que se puede pasar a cualquier shell de UNIX para detener la aplicación básica. Puede escribir la orden en el campo suministrado o utilizar el botón Examinar para localizar un archivo que contenga la orden para detener la aplicación. Si la aplicación requiere que se especifique un nombre de sistema en la línea de órdenes, se puede usar la variable $hostnames que define Agent Builder (consulte Utilización de la variable $hostnames de Agent Builder).
Esta orden es opcional. Si no se especifica una orden de parada, el código generado emplea señales (en el método Stop) para detener la aplicación, como se muestra a continuación.
El método Stop envía SIGTERM para detener la aplicación y espera el 80% del valor de tiempo de espera excedido para que la aplicación salga.
Si la señal SIGTERM no resulta satisfactoria, el método Stop envía SIGKILL para detener la aplicación y espera el 15% del tiempo de espera excedido para que la aplicación salga.
Si SIGKILL no es satisfactorio, el método Stop sale de forma no satisfactoria (el 5% restante del valor de tiempo de espera se considera una carga adicional indirecta).
Asegúrese de que la orden de parada no retorne antes de que la aplicación se haya detenido por completo.
Orden de sonda: una orden que se puede ejecutar periódicamente para comprobar el estado de la aplicación y devolver un estado de salida adecuado entre 0 (éxito) y 100 (fallo total). Esta orden es opcional. Puede escribir la ruta completa a la orden o utilizar el botón Examinar para localizar un archivo que contenga las órdenes para analizar la aplicación.
Generalmente, se especifica un cliente simple de la aplicación básica. Si no se especifica una orden de sonda, el código generado se limita a conectarse y desconectarse del puerto que utiliza el recurso y, si funciona, declara que la aplicación funciona correctamente. Las órdenes de sonda sólo se pueden utilizar con aplicaciones habilitadas para la red. Agent Builder siempre genera una orden de sonda, pero lo desactiva para las aplicaciones que no estén habilitadas para la red.
Si la aplicación requiere que se especifique un nombre de sistema en la línea de órdenes de sonda, puede usar la variable $hostnames que define Agent Builder (consulte Utilización de la variable $hostnames de Agent Builder).
Tiempo de espera: (para cada orden) un valor de tiempo de espera (en segundos) para cada orden. Se puede especificar un valor nuevo o aceptar el predeterminado de Agent Builder (300 segundos para inicio y parada y 30 para el análisis).
Para muchas aplicaciones, especialmente las habilitadas para red, el nombre del sistema en el que la aplicación recibe y sirve las solicitudes del cliente se debe pasar a la aplicación en la línea de órdenes. Por tanto, en muchos casos, el nombre del sistema es un parámetro que se debe especificar para iniciar, detener y analizar órdenes del tipo de recurso de destino (en la pantalla de configuración). Sin embargo, el nombre del sistema en el que la aplicación recibe es específica del clúster; se determina cuando el recurso se ejecuta en un clúster y no se puede determinar cuando Agent Builder genera el código del tipo de recurso.
Para solucionar este problema, Agent Builder proporciona la variable $hostnames que se puede especificar en la línea de órdenes de las órdenes de inicio, parada y análisis. La variable $hostnames se especifica de la misma forma como un nombre de sistema real, por ejemplo:
/opt/network_aware/echo_server -p port_no -l $hostnames |
Cuando un recurso del tipo de recurso de destino se ejecuta en un clúster, los nombres de sistema LogicalHostname o SharedAddress configurados para ese recurso (en la propiedad de recurso Network_resources_used) se reemplazan por el valor de la variable $hostnames.
Si configura la propiedad Network_resources_used con múltiples nombres de sistemas, la variable $hostnames los incluye todos, separados por comas.
Agent Builder puede crear tipos de recursos para aplicaciones con varios árboles de procesos considerados independientes ya que PMF los supervisa e inicia individualmente. PMF inicia cada árbol de procesos con su propia etiqueta.
Agent Builder permite crear tipos de recursos con varios árboles de procesos independientes sólo cuando el código fuente generado que se especifique sea C. No es posible utilizar Agent Builder para crear estos tipos de recursos para ksh ni GDS; en estos casos, se debe escribir el código manualmente.
En el caso de una aplicación básica con varios árboles de procesos independientes, no se puede especificar una única línea de órdenes para iniciar la aplicación. En su lugar, es necesario crear un archivo de texto, especificando en cada línea la ruta completa a una orden para iniciar cada uno de los árboles de procesos de la aplicación. Este archivo no debe contener líneas en blanco y se ha de especificar en el campo de texto de la orden de inicio, en la pantalla de configuración.
Al asegurarse de que este archivo no disponga de permisos de ejecución Agent Builder podrá distinguirlo y así será posible iniciar múltiples árboles de procesos desde una secuencia de ejecución simple que contenga varias órdenes. Si se dota al archivo de texto de permisos de ejecución, los recursos se ejecutarían sin problemas ni errores en un clúster, pero todas las órdenes se iniciarían bajo una única etiqueta de PMF, lo que impediría que éste pudiera supervisar y reiniciar individualmente los árboles de procesos.
Agent Builder permite aprovechar el trabajo finalizado de varias formas.
Se puede clonar un tipo de recurso creado con Agent Builder.
Se puede editar el código fuente que genera Agent Builder y recompilarlo para crear un paquete nuevo.
Siga este procedimiento para clonar un tipo de recurso, generado por Agent Builder.
Cargue un tipo de recurso en Agent Builder; puede hacerlo de dos formas:
Vaya al directorio de trabajo en la pantalla de creación.
Debe usar el botón Examinar para seleccionar un directorio; no basta con escribir el nombre del nuevo directorio. Una vez seleccionado un directorio, Agent Builder vuelve a habilitar el botón Crear.
Realice los cambios.
Este procedimiento se puede utilizar para cambiar el tipo de código generado para el tipo de recurso. Por ejemplo, si inicialmente ha creado una versión en ksh de un tipo de recurso, pero más tarde se da cuenta de que necesita una versión en C, puede cargar el tipo de recurso en ksh, cambiar el lenguaje de salida a C y hacer que Agent Builder cree una versión en C del tipo de recurso.
Cree el tipo de recurso clonado.
Seleccione Crear para crear el tipo de recurso. Seleccione Siguiente para que aparezca la pantalla de configuración. Seleccione Configurar para configurar el tipo de recurso y Cancelar para terminar.
Para simplificar el proceso de creación de un tipo de recurso, Agent Builder limita el número de entradas, lo que reduce el alcance del tipo de recurso generado. Por tanto, para poder agregar funciones más avanzadas, como las comprobaciones de validación para las propiedades adicionales, o para ajustar parámetros que no muestra Agent Builder, es necesario modificar el código fuente generado o el archivo RTR.
Los archivos de origen están en el directorio directorio_instalación/nombre_tr/src. Agent Builder integra comentarios en el código fuente en los lugares donde se puede agregar código que son del tipo siguiente (para el código C):
/* Código agregado por el usuario -- INICIO vvvvvvvvvvvvvvv */ /* Código agregado por el usuario -- FIN ^^^^^^^^^^^^^^^ */ |
Estos comentarios son iguales en el código del shell Korn, salvo por el hecho de que utilizan el símbolo de la libra esterlina (#) para iniciar la línea de comentario.
Por ejemplo, nombre_tr.h declara todas las rutinas de utilidades que emplean los diferentes programas. Al final de la lista de declaraciones se incluyen comentarios que permiten declarar las rutinas adicionales agregadas a cualquiera de los códigos.
Agent Builder genera también el makefile en el directorio directorio_instalación/nombre_tr/src con los destinos correspondientes. Use las órdenes make para recompilar el codigo fuente y make pkg para regenerar el paquete del tipo de recurso.
El archivo RTR, que se encuentra en el directorio directorio_instalación/nombre_tr/etc, se puede editar con un editor de texto estándar (consulte Establecimiento del recurso y las propiedades del tipo de recurso para obtener más información sobre el archivo RTR y el Apéndice A para obtener información sobre las propiedades).
La versión de línea de órdenes de Agent Builder sigue el mismo proceso en dos pasos que la versión de interfaz gráfica de usuario, con la diferencia de que en lugar de introducir la información en la interfaz gráfica de usuarios, los parámetros se pasan a las órdenes scdscreate(1HA) y scdsconfig(1HA).
Siga estos pasos para utilizar la versión de línea de órdenes de Agent Builder:
Utilice scdscreate para crear una plantilla del tipo de recurso de Sun Cluster para hacer que una aplicación tenga una alta disponibilidad (sea HA) o escalabilidad.
Utilice scdsconfig para configurar la plantilla del tipo de recurso creada con scdscreate.
Cambie los directorios al subdirectorio pkg del directorio de trabajo.
Utilice la orden pkgadd(1M) para instalar los paquetes creados con scdscreate.
Si lo desea, edite el código fuente generado.
Ejecute la secuencia de inicio.
Agent Builder crea una estructura de directorios para contener todos los archivos que genera para el tipo de recurso de destino. El directorio de trabajo se especifica en la pantalla de creación. Se deben especificar directorios de instalación separados para cualquier tipo de recurso adicional que se desarrolle. En el directorio de trabajo, Agent Builder crea un subdirectorio cuyo nombre se forma con la unión de los nombres del fabricante y del tipo de recurso (desde la pantalla de creación). Por ejemplo, si especifica SUNW como nombre de fabricante y crea un tipo de recurso denominado ftp, Agent Builder creará un directorio llamado SUNWftp en el directorio de trabajo.
En este subdirectorio, Agent Builder crea y ocupa los directorios de la siguiente tabla.
Nombre del directorio |
Tabla de contenido |
---|---|
bin |
Para una salida en C, contiene los archivos binarios compilados de los archivos de origen. Para la salida en ksh, contiene los mismos archivos que el directorio src. |
etc |
Contiene el archivo RTR. Agent Builder concatena el nombre del proveedor y el nombre de la aplicación, separándolos con un punto (.), para que formen el nombre de archivo RTR. Por ejemplo, si el nombre del fabricante es SUNW y el del tipo de recurso ftp, el nombre del archivo RTR será SUNW.ftp. |
man |
Contiene páginas de comando man para las utilidades de secuencias de órdenes start, stop y remove. Por ejemplo, startftp(1M), stopftp(1M) y removeftp(1M).
Para ver estas páginas de comando man, especifique la ruta con la opción man -M. Por ejemplo, man -M directorio_instalación/SUNWftp/man removeftp. |
pkg |
Contiene el paquete final. |
src |
Contiene los archivos de origen generados por Agent Builder. |
util |
Contiene las secuencias de utilidades start, stop y remove generadas por Agent Builder. Consulte Secuencias de utilidades y páginas de comando man. Agent Builder añade el nombre de la aplicación a todos los nombres de secuencias de órdenes; por ejemplo startftp, stopftp o removeftp. |
Esta sección describe la salida generada por Agent Builder.
El Gestor de grupos de recursos (RGM), que gestiona grupos de recursos y, en última instancia, los recursos de un clúster, funciona sobre un modelo de rellamada. Cuando se producen eventos específicos, como fallos de nodos, RGM invoca los métodos del tipo de recurso para cada uno de los recursos en ejecución del nodo afectado. Por ejemplo, RGM invoca el método Stop para detener un recurso que se esté ejecutando en el nodo afectado y después invoca el método Start del recurso para iniciar éste en un nodo diferente. (Consulte Modelo de RGM, Métodos de rellamada y la página de comando man rt_callbacks(1HA) para obtener más información sobre este modelo).
Para admitir este modelo, Agent Builder genera (en el directorio directorio_instalación/nombre_tr/bin) ocho programas ejecutables (C) o secuencias (ksh) que sirven de métodos de rellamada.
Estrictamente hablando, el programa nombre_tr_probe, que implementa un supervisor de fallos, no es un programa de rellamada. RGM no invoca directamente nombre_tr_probe, sino nombre_tr_monitor_start y nombre_tr_monitor_stop, que inician y detienen el supervisor de fallos, invocando nombre_tr_probe.
Los ocho métodos que genera Agent Builder son:
nombre_tr_monitor_check
nombre_tr_monitor_start
nombre_tr_monitor_stop
nombre_tr_probe
nombre_tr_svc_start
nombre_tr_svc_stop
nombre_tr_update
nombre_tr_validate
Consulte la página de comando man rt_callbacks(1HA) para obtener información específica sobre cada uno de estos métodos.
En el directorio directorio_instalación/nombre_tr/src (salida C), Agent Builder genera los archivos siguientes:
Un archivo de cabecera (nombre_tr.h).
Un archivo de origen (nombre_tr.c) que contiene el código común a todos los métodos.
Un archivo objeto (nombre_tr.o) para el código común.
Archivos de origen (*.c) para cada uno de los métodos
Archivos objeto (*.o) para cada uno de los métodos.
Agent Builder vincula el archivo nombre_tr.o con cada uno de los archivos de método .o para crear los ejecutables del directorio directorio_instalación/nombre_tr/bin.
Para la salida ksh, los directorios directorio_instalación/nombre_tr/bin y directorio_instalación/nombre_tr/src son idénticos: todos contienen las ocho secuencias ejecutables que corresponden a los siete métodos de retrollamada y el método PROBE.
La salida ksh incluye dos programas de utilidad compilados (gettime y gethostnames) que algunos métodos de rellamada necesitan para obtener el tiempo y realizar un análisis.
Es posible editar el código fuente, ejecutar la orden make para recompilar el código y, al terminar, ejecutar la orden make pkg para generar otro paquete. Para poder realizar cambios en el código fuente, Agent Builder integra comentarios en éste allí donde es posible agregar nuevo código. Consulte Edición del código fuente generado.
Después de generar un tipo de recurso e instalar el paquete correspondiente en un clúster, todavía hay que obtener una instancia (recurso) del tipo de recurso que se ejecuta en un clúster, generalmente mediante órdenes administrativos o SunPlex Manager. Sin embargo, para mayor comodidad, Agent Builder genera una secuencia de utilidades personalizada con este fin (la secuencia de inicio) así como secuencias para detener y eliminar un recurso del tipo de recurso de destino. Estas tres secuencias, ubicadas en el directorio directorio_instalación/nombre_tr/util, hacen lo siguiente:
Secuencia de inicio: registra el tipo de recurso y crea los grupos de recursos y recursos necesarios. Crea también los recursos de dirección de red (LogicalHostname o SharedAddress) que permiten que la aplicación se comunique con los clientes de la red.
Secuencia de parada: detiene e inhabilita el recurso.
Secuencia de eliminación: deshace el trabajo de la secuencia de inicio, es decir, detiene y elimina los recursos, grupos de recursos y el tipo de recurso de destino del sistema.
La secuencia de eliminación sólo se puede utilizar con los recursos iniciados por la secuencia de inicio correspondiente, porque estas secuencias emplean convenciones internas para nombrar los recursos y grupos de recursos.
Agent Builder nombra estas secuencias añadiendo el nombre de la aplicación a los nombres de secuencias. Por ejemplo, si el nombre de la aplicación es ftp, las secuencias se denominan startftp, stopftp y removeftp.
Agent Builder proporciona páginas de comando man en el directorio directorio_instalación/nombre_tr/man/man1m de cada una de las secuencias de utilidades. Antes de ejecutar estas secuencias es recomendable leer estas páginas de comando man, porque documentan los parámetros que hay que pasar a las secuencias.
Para ver estas páginas de comando man, especifique la ruta al directorio de éste con la opción -M de la orden man. Por ejemplo, si SUNW es el fabricante y ftp es el nombre de la aplicación, utilice la orden siguiente para ver la página de comando man de startftp(1M):
man -M install_directory/SUNWftp/man startftp |
Las secuencias de utilidades de las páginas de comando man también están disponibles para el administrador del clúster. Cuando se instala un paquete generado por Agent Builder en un clúster, las páginas de comando man de las secuencias de utilidades se colocan en el directorio /opt/nombre_tr/man. Por ejemplo, use la orden siguiente para ver la página de comando man startftp(1M):
man -M /opt/SUNWftp/man startftp |
Agent Builder coloca archivos de compatibilidad, como pkginfo, postinstall, postremove y preremove en el directorio directorio_instalación/nombre_tr/etc. Éste contiene también el archivo de registro del tipo de recurso (RTR), que declara las propiedades del recurso y tipo de recurso disponibles para el tipo de recurso de destino e inicializa los valores de las propiedades en el momento en que un recurso se registra en un clúster (consulte Establecimiento del recurso y las propiedades del tipo de recurso para obtener más información). Al archivo RTR se le asigna el nombre nombre_proveedor.nombre_tipo_recurso—por ejemplo, SUNW.ftp.
Este archivo se puede editar con un editor de texto estándar y no es necesario recompilar el código fuente para realizar los cambios. Sin embargo, se debe reconstruir el paquete con la orden make pkg.
El directorio directorio_instalación/nombre_tr/pkg contiene un paquete Solaris cuyo nombre es el resultado de la unión de los nombres del fabricante y de la aplicación, por ejemplo, SUNWftp. El Makefile del directorio directorio_instalación/nombre_tr/src admite la creación de un paquete nuevo. Por ejemplo, si realiza cambios en los archivos de origen y recompila el código o realiza cambios en las secuencias de utilidad del paquete, utilice la orden make pkg para crear un paquete nuevo.
Cuando se elimina un paquete de un clúster, la orden pkgrm puede fallar si se intenta ejecutarlo desde más de un nodo al mismo tiempo. Este problema se puede resolver de una de las dos formas siguientes:
Ejecute la secuencia remove nombre_tr desde un nodo del clúster antes de ejecutar pkgrm desde cualquier nodo.
Ejecute pkgrm desde un nodo del clúster, que se encarga de la reorganización necesaria. Después, ejecute pkgrm desde el resto de los nodos, simultáneamente si fuera necesario.
Si pkgrm falla porque se ha intentado ejecutarlo desde varios nodos al mismo tiempo, vuelva a ejecutarlo desde un solo nodo y después desde el resto.
Si se genera código fuente en C o ksh, Agent Builder genera, en el directorio de trabajo, un archivo de configuración rtconfig que contiene la información introducida en las pantallas de creación y configuración. Si ejecuta Agent Builder desde el directorio de trabajo para un tipo de recurso (o carga un tipo de recurso con la orden Cargar tipo de recurso del menú Archivo), Agent Builder lee el archivo rtconfig y cumplimenta las pantallas de creación y configuración con la información suministrada para el tipo de recurso. Esta característica resulta útil para clonar tipos de recursos (consulte Clonación de un tipo de recurso.
Desplazarse por Agent Builder es fácil e intuitivo. Agent Builder es un asistente en dos pasos que tiene una pantalla para cada paso (de creación y de configuración). En ambas pantallas, la información se introduce:
Escribiendo la información en un campo.
Examinando la estructura de directorios y seleccionando un archivo o un directorio.
Marcando uno de los botones de selección que se excluyen mutuamente, por ejemplo, Escalable o A prueba de fallos.
Marcando una casilla de activación y desactivación. Por ejemplo, marcar Detectar red identifica la aplicación base como utilizable en red mientras que dejarlo sin marcar identifica una aplicación que no trabaja en red.
Los botones de la parte inferior de cada pantalla permiten finalizar la tarea, pasar a la pantalla anterior o siguiente o salir de Agent Builder. Agent Builder resalta u oscurece los botones según corresponda.
Por ejemplo, una vez cumplimentados los campos y seleccionadas las opciones deseadas en la pantalla de creación, haga clic en el botón Crear de la parte inferior de la pantalla. Los botones Anterior y Siguiente se oscurecen, porque no hay ninguna pantalla anterior y aún no se puede ir al paso siguiente, pues no se ha finalizado el actual.
Agent Builder muestra mensajes de progreso en el área de registro de salida de la parte inferior de la pantalla. Cuando termina, Agent Builder muestra un mensaje que indica que la operación se ha realizado satisfactoriamente o una advertencia para que se mire el registro de salida. En ese momento se resalta el botón Siguiente o, si se trata de la última pantalla, sólo se resalta el botón Cancelar.
Si se desea, se puede pulsar Cancelar en cualquier momento para salir de Agent Builder.
Algunos campos de Agent Builder permiten escribir la información o hacer clic en el botón Examinar para recorrer la estructura de directorios y seleccionar un archivo o directorio.
Cuando se hace clic en Examinar, aparece una pantalla similar a ésta:
Haga doble clic en una carpeta para abrirla. Cuando se selecciona un archivo, el nombre aparece en el cuadro Nombre de archivo. Haga clic en Seleccionar cuando haya encontrado y seleccionado el archivo que desee.
Si está buscando un directorio, selecciónelo y pulse el botón Abrir. Si no hay subdirectorios, Agent Builder cierra la ventana Examinar y pone el nombre del directorio seleccionado en el campo correspondiente. Si el directorio tiene subdirectorios, haga clic en el botón Cerrar para cerrar la ventana Examinar y volver a la pantalla anterior. Agent Builder pone el nombre del directorio seleccionado en el campo correspondiente.
Los iconos de la esquina superior derecha de la pantalla hacen lo siguiente:
|
Este icono sube un nivel en el árbol de directorios. |
|
Este icono vuelve a la carpeta de inicio. |
|
Este icono crea una carpeta nueva en la carpeta seleccionada actualmente. |
|
Ese icono, que sirve para cambiar entre las diferentes vistas, está reservado para usos futuros. |
Agent Builder incluye los menús Archivo y Editar.
El menú Archivo tiene dos órdenes:
Cargar tipo de recurso: carga un tipo de recurso. Agent Builder proporciona una pantalla para examinar y seleccionar el directorio de trabajo para un tipo de recurso. Si éste existe en el directorio desde el cual se ejecuta Agent Builder, éste lo carga automáticamente. La orden Cargar tipo de recurso permite ejecutar Agent Builder desde cualquier directorio y seleccionar un tipo de recurso para usarlo como plantilla para crear un nuevo tipo de recurso (consulte Clonación de un tipo de recurso).
Salir: permite salir de Agent Builder. También se puede salir haciendo clic en Cancelar en las pantallas de creación o configuración.
El menú Editar tiene órdenes para borrar y guardar el registro de salida:
Borrar registro de salida: borra la información del registro de salida. Cada vez que se seleccione Crear o Configurar, Agent Builder introduce mensajes de estado en el registro de salida. Si está realizando un proceso iterativo, realizando cambios en el código fuente y regenerando la salida de Agent Builder y desea separar los mensajes de estado, puede guardar y borrar el archivo de registro antes de cada utilización.
Guardar archivo de registro: guarda la salida de registro en un archivo. Agent Builder proporciona una pantalla donde se puede elegir el directorio y especificar un nombre de archivo.
El módulo Cluster Agent para Agent Builder es un módulo NetBeansTM. El software Cluster Agent permite a los usuarios del producto Sun Java Studio (anteriormente Sun ONE Studio) crear tipos de recursos o de servicios de datos, para el software Sun Cluster, en un entorno de desarrollo integrado. El módulo Cluster Agent proporciona una interfaz basada en pantallas para describir el tipo de recurso que se desea crear.
En la página web documentation de Sun Java puede consultar información sobre cómo configurar, instalar y utilizar el producto Sun Java Studio.
El módulo Cluster Agent se instala al instalar el software Sun Cluster. La herramienta de instalación de Sun Cluster coloca el archivo del módulo Cluster Agent scdsbuilder.jar en /usr/cluster/lib/scdsbuilder. Para utilizar el módulo Cluster Agent con el software Sun Java Studio, es necesario crear un enlace simbólico a este archivo.
Los productos Sun Cluster, Sun Java Studio y JavaTM 1.4 deben estar instalados y ser accesibles para el sistema en el que se va a ejecutar el módulo Cluster Agent.
¿Desea permitir que todos los usuarios o sólo usted mismo utilicen el módulo Cluster Agent?
Para permitir que lo utilicen todos los usuarios, conviértase en superusuario o asuma un papel equivalente y cree el enlace simbólico en el directorio del módulo global:
# cd /opt/s1studio/ee/modules # ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar |
Si ha instalado el software Sun Java Studio en un directorio diferente de /opt/s1studio/ee, cambie esta ruta al directorio por la ruta correspondiente.
Para que sólo usted pueda usar el módulo, cree el enlace simbólico en el subdirectorio modules:
% cd ~su_directorio_inicio/ffjuser40ee/modules % ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar |
Detenga y reinicie el software Sun Java Studio.
Los pasos siguientes explican cómo iniciar el módulo Cluster Agent desde el software Sun Java Studio.
Desde el menú File de Sun Java Studio, seleccione New o haga clic en este icono de la barra de herramientas:
Aparece la pantalla New Wizard.
En la ventana de selección de plantilla, desplácese hacia abajo (si fuera necesario) y haga clic en la tecla situada al lado de la carpeta Other:
Se abre el menú Other.
En el menú Other, seleccione Sun Cluster Agent Builder y haga clic en Next.
Se inicia el módulo Cluster Agent de Sun Java Studio. Aparece la primera pantalla New Wizard - Sun Cluster Agent Builder.
Utilice el módulo Cluster Agent igual que el software Agent Builder. Las interfaces son idénticas. Por ejemplo, las figuras siguientes muestran que la pantalla de creación del software Agent Builder y la pantalla New Wizard - Sun Cluster Agent Builder del módulo Cluster Agent contienen los mismos campos y selecciones.
A pesar de sus semejanzas, existen pequeñas diferencias entre el módulo Cluster Agent y Agent Builder:
En el módulo Cluster Agent, el tipo de recurso se crea y configura después de pulsar el botón Finish de la segunda pantalla New Wizard - Sun Cluster Agent Builder. El tipo de recurso no se crea al hacer clic en Next en la primera pantalla New Wizard - Sun Cluster Agent Builder.
En Agent Builder, el tipo de recurso se crea al hacer clic en el botón Crear de la pantalla de creación y se configura al hacer clic en Configurar, en la pantalla de configuración.
La información de la ventana del registro de salida de Agent Builder aparece en una ventana de salida aparte en el producto Sun Java Studio.