Este artículo le ayudará a comprender el modo de instalar Sun Java System Application Server 9.1 en zonas Solaris 10. Explica los distintos casos posibles de instalación y actualización, sus limitaciones y el modo de superarlas.
Sun Java System Application Server 9.1 es la distribución aprobada por Sun del servidor de aplicaciones GlassFish versión 2 de código abierto. En el presente artículo, por tanto, se utiliza el término Application Server para hacer referencia a ambos, salvo en los casos en que sea preciso distinguirlos.
A lo largo del artículo, los términos Solaris y SO Solaris hacen referencia al entorno operativo Solaris 10, a menos que se indique lo contrario.
Las zonas Solaris son útiles en aquellas implementaciones en que la administración de software centralizada y una fiabilidad elevada sean importantes. Es preciso apuntar algunas consideraciones especiales cuando se utiliza Application Server en zonas Solaris.
Acerca de las zonas del SO Solaris
Una zona Solaris es una partición virtual del entorno de sistema operativo dentro del SO Solaris. Cada zona funciona como un servidor virtual aislado por completo del resto, dentro de un mismo equipo. Una zona es una primitiva que, utilizada con la función de administración de recursos del sistema operativo, se conoce como contenedor de Solaris.
Las aplicaciones consideran las zonas como entornos de sistema operativo aislados y seguros. Así, puede aislar unas instalaciones de otras mediante su instalación en zonas distintas, al tiempo que mantiene una administración centralizada de determinados recursos del sistema operativo.
Desde el punto de vista de un sistema operativo que admita varias zonas, los recursos del SO incluyen administración de procesos, memoria, configuración de red, sistemas de archivos, registros de paquetes, cuentas de usuario, bibliotecas compartidas y, en algunos casos, aplicaciones instaladas.
En el SO Solaris existe siempre una zona definida: la zona global. La zona global es el entorno de SO tradicional donde se instala el sistema operativo Solaris. Esta zona puede contener otras. Las zonas que se alojan en una zona global se conocen como zonas no globales o sencillamente zonas.
Pueden crearse zonas con un espacio mínimo de disco duro. Éstas se conocen como zonas dispersas. Como alternativa, puede crearse una zona de raíz entera que duplique todo el sistema operativo.
En la figura siguiente se muestra la relación entre las zonas, la zona global, el núcleo del sistema operativo y los recursos físicos subyacentes.
Figura 1.Aplicaciones aisladas en zonas Solaris
Haga clic aquí para ver una imagen ampliada.
Application Server (tanto Sun Java System Application Server 9.1 como GlassFish versión 2) está disponible en descarga de código fuente y en formato de binarios. Los binarios se distribuyen también en formato nativo basado en paquete (paquetesRPM en el SO Linux y SVR4
en el SO Solaris). En este artículo sólo se trata la instalación de binarios basados en paquete nativo de Solaris, realizada con el instalador basado en paquetes autónomo para descarga. Puede utilizar instaladores basados en archivo, por lo general en formato ZIP, en cualquier lugar y sin limitación de zonas, siempre que lo haga en directorios que permitan la escritura.
Las siguientes opciones de instalación ilustran posibles fuentes de confusión cuando se instala o actualiza Application Server en zonas Solaris.
Application Server integrado en SO Solaris 10: la versión 8.x de Sun Java System Application Server se suministra junto con el SO Solaris 10 y está instalada en /usr/appserver.
Sun Java System Message Queue integrado en SO Solaris 10: la versión 3.7 Actualización 1 de Sun Java System Message Queue (en adelante, Message Queue) se suministra con el SO Solaris 10 y está instalada en /usr.
Versión preinstalada de Java Enterprise System (Java ES) : las versiones anteriores de los paquetes Java ES pueden instalarse en cualquier zona. En tales casos, el instalador de Java ES se encarga de forma automática de la actualización de las versiones de Application Server y Message Queue que haya instalado el anterior instalador de Java ES. Tenga presente, sin embargo, que Message Queue sólo puede actualizarse en la zona global y en zonas de raíz entera, pero no en las zonas dispersas.
Diferencias en los niveles de propagación con el paquete SVR4: la propagación en zonas de paquetes de Application Server y componentes relacionados puede variar según el modo en que se instalaron. Por ejemplo:
En el caso de Application Server integrado en Solaris, los paquetes están configurados para propagarse por todas las zonas, de modo que al eliminar un paquete de la zona global, se eliminan todas las referencias a él en las zonas dispersas.
Si es el instalador de Java ES el que actualiza los paquetes de Application Server integrado en Solaris, los niveles de propagación se reinician a la “zona global” únicamente.
El instalador de Application Server incluye además un conjunto de componentes compartidos, entre ellos Sun Java System Message Queue 4.1, High-Availability Database 4.4.3-6 (HADB) y JDK 5 Actualización 12. El instalador de Application Server actualiza de forma automática estos componentes si detecta una versión anterior en la zona global y en zonas de raíz entera. HADB puede actualizarse en una zona dispersa.
Los paquetes de Application Server y HADB que forman parte de Sun Java System Application Server 9.1, si se instalan en la zona global, no se propagan al resto de zonas. En consecuencia, pueden existir distintas versiones de Application Server instaladas en zonas no globales sin que entren en conflicto con la que hay en la zona global.
Por contra, los componentes compartidos y los paquetes de Message Queue siempre se propagan a todas las zonas cuando se instala Application Server en la zona global.
En el siguiente apartado se estudian los tipos existentes de instalación en zonas de Application Server y sus implicaciones en caso de nueva instalación.
Antes de instalar Application Server en la zona global debe darse una de las siguientes condiciones en el entorno de instalación:
Hay una versión de Application Server integrado en Solaris instalada en la zona global.
Hay una versión del software Java ES instalada.
No hay ninguna versión de Application Server integrado en Solaris instalada, ni tampoco una versión anterior de Java ES. El entorno está “limpio”, sin ninguna instalación de Application Server.
Por descontado, si el entorno está limpio (caso 3), puede realizar la instalación directa con el instalador de Application Server sin consecuencias negativas ni imprevistas. A continuación veremos los dos primeros casos y sus implicaciones.
Application Server integrado en Solaris instalado en la zona global
Para determinar si existe una versión integrada de Application Server en la zona global, siga estos pasos:
Busque los paquetes de Application Server SVR4 del sistema. Hallará la lista oficial de paquetes de Application Server instalados como parte de Solaris 10 en la Lista de paquetes de SO Sun en línea.
Busque en la lista los siguientes paquetes de Application Server: SUNWasac, SUNWascmn, SUNWasdb, SUNWasdem, SUNWasdemdb, SUNWasjdoc, SUNWasman, SUNWasr, SUNWasu y SUNWasut. Si cuenta con Solaris 10 Actualización 3 o superior, tendrá también el paquete SUNWasjavadb (versión de uso particular de Java DB empleada sólo para Application Server).
Busque y valide el contenido del directorio de instalación de Application Server integrado. La versión de Application Server integrada en Solaris 10 se instala siempre en /usr/appserver. Para determinar la versión de Application Server, ejecute el comando /usr/appserver/bin/asadmin version -v. La ruta de ejecución de este comando garantiza que no se está viendo una instalación de Java ES dentro de /usr/appserver. Anote el número de versión. Le será útil para decidir el modo de proceder en instalaciones posteriores.
Compruebe si se creó un dominio predeterminado desde una versión de Application Server integrada en Solaris y si se está utilizando. Si el dominio está activo y en uso pero desconoce su ubicación, siga este procedimiento para examinar el archivo de configuración de todos los productos de Application Server, asenv.conf. Para averiguar la ruta de acceso, haga lo siguiente:
Abra el archivo/usr/appserver/bin/asadmin en un editor y busque la cadena asenv.conf. La línea que contiene esta cadena en el archivo asadmin muestra la ruta de acceso absoluta al archivo asenv.conf.
Localizado el archivo asenv.conf, ábralo para conocer la ubicación de los dominios predeterminados de la instalación. El token AS_DEF_DOMAINS_PATH contiene el valor del directorio raíz domains donde se guarda el dominio predeterminado y los de nueva creación. Sepa que puede modificar esta ruta de acceso con la opción de anulación --domaindir.
Si descubre que hay una versión integrada de Application Server instalada en el sistema, tenga presentes las siguientes implicaciones en lo referente a nuevas instalaciones y actualizaciones
Si el sistema cuenta con una versión integrada de Application Server en la zona global, recuerde que los paquetes de Application Server y Message Queue instalados en esta zona se propagan a otras zonas de forma predeterminada. Si desea utilizar zonas dispersas, quizá con un Application Server independiente para cada una, debe desinstalar la versión de Application Server de la zona global. Para hacerlo, elimine todos los paquetes SVR4 enumerados arriba de la Lista de paquetes de SO Sun.
Si no tiene intención de utilizar zonas dispersas con instalaciones de Application Server independientes, no es preciso que elimine los paquetes SVR4.
Una vez desinstalado Application Server de la zona global, puede instalarlo en un directorio nuevo o actualizar un directorio de instalación existente y sobrescribir los archivos necesarios. Si opta por utilizar un directorio existente y sobrescribir la versión anterior, seleccione /usr como directorio de instalación. appserver se anexa de forma automática a la ruta de acceso de la instalación.
Nota: Si la versión integrada de Application Server se emplea de forma activa y tiene dominios activos, tenga cuidado de no instalar los binarios en /usr, ya que la instalación sobrescribe también el directorio de dominios predeterminado. En tal caso, especifique otro directorio de instalación. Tras la instalación, mueva las aplicaciones del dominio anterior al nuevo con la herramienta de actualización (Upgrade Tool, ubicada en InstallDir/bin/asupgrade). Esta herramienta se instala junto con Application Server. Consulte los detalles en la Guía de actualización y migración de Sun Java System Application Server 9.1.
Una de las ventajas de instalar Application Server en la zona global y utilizar /usr es que, puesto que se trata de un directorio visible para otras zonas dispersas (como entrada de sólo lectura), pueden utilizarse los binarios de Application Server para crear dominios en estas zonas. Tenga presente que, siempre que Application Server trata de escribir en archivos (dominios, registro de base de datos, archivos de propiedades, etc.), debe dirigirse a un directorio con capacidad de escritura. Puede especificar directorios al llamar al comando asadmin. Por ejemplo, el siguiente comando crea un dominio administrativo en writable_dir/domains, directorio para el que Application Server tiene permiso de escritura:
De forma parecida, el siguiente comando inicia el servidor de Java DB y especifica writable_dir como directorio donde se guardan el archivo derby.log y otros archivos de la base de datos:
La ubicación de los directorios de dominios predeterminados que se crean durante la instalación de Sun Java System Application Server 9.1 y Java ES es distinta. En el caso de Java ES, la ubicación predeterminada es /var/opt/SUNWappserver/domains. A diferencia del instalador de Java ES, el de Application Server no permite elegir un directorio raíz de dominios; el dominio se crea siempre en el directorio de instalación seleccionado en el momento de realizar la instalación. Por tanto no es preciso preocuparse por la posible sobrescritura del directorio domains, a menos que la raíz de dominios y la de instalación se hayan definido de forma explícita en el mismo directorio durante la instalación de Java ES.
El instalador de Sun Java System Application Server 9.1 sólo admite la actualización desde Java ES 5 Actualización 1. Si cuenta con una versión anterior de Java ES, actualícela antes de Java ES 5 Actualización 1 y, a continuación, ejecute el instalador de Sun Java System Application Server 9.1.
Java ES 5 Actualización 1 integra e instala Sun Java System Application Server 8.2 Actualización 1 Enterprise Edition. Esta versión y Sun Java System Application Server 9.1 comparten el mismo nombre de paquete SVR4. Por tanto, no es posible instalar dos versiones distintas en la misma máquina. Puesto que el directorio de dominios predeterminado es distinto en cada instalador, organice la actualización del siguiente modo:
Para actualizar los binarios, elimine los paquetes existentes de Application Server que se instalaron como parte de Java ES 5 Actualización 1. A continuación, instale los paquetes de Sun Java System Application Server 9.1 en el directorio elegido. Este proceso se automatiza con el instalador de Sun Java System Application Server 9.1.
Tras la actualización de binarios, ejecute el asistente de actualización de Sun Java System Application Server 9.1. Para ejecutar esta herramienta utilice el comando bin/asupgrade desde la ubicación donde se instaló el nuevo Application Server. En el asistente, especifique el directorio de dominios de Java ES 5 Actualización 1 como directorio de dominios de origen, y el directorio de dominios de Sun Java System Application Server 9.1 como directorio raíz de dominios de destino.
Desde la perspectiva de las zonas, es importante tener presente que los niveles de propagación de los paquetes instalados con Java ES 5 actualización 1 no cambian cuando se actualiza Application Server a Sun Java System Application Server 9.1.
Las zonas dispersas se utilizan para implementaciones en las que todos los usuarios de una organización precisan compartir una única instalación de la zona global. Las zonas dispersas se crean sin ninguna dificultad. Una de las ventajas de su utilización es que la instalación, parcheada desde una zona global, es visible en todas las zonas dispersas.
La instalación en zonas dispersas es más difícil que en la zona global por las complicaciones que se describen a continuación.
Application Server integrado en Solaris instalado en la zona global
Para determinar si existe una versión integrada de Application Server en la zona global, siga estos pasos:
Busque los paquetes de Application Server SVR4 del sistema. Hallará la lista oficial de paquetes de Application Server instalados como parte de Solaris 10 en la Lista de paquetes de SO Sun en línea.
Busque en la lista los siguientes paquetes de Application Server: SUNWasac, SUNWascmn, SUNWasdb, SUNWasdem, SUNWasdemdb, SUNWasjdoc, SUNWasman, SUNWasr, SUNWasu y SUNWasut. Si cuenta con Solaris 10 actualización 3 o superior, tendrá también el paquete SUNWasjavadb (versión de uso particular de Java DB empleada sólo para Application Server).
Busque y valide el contenido del directorio de instalación de Application Server integrado. La versión de Application Server integrada en Solaris 10 se instala siempre en /usr/appserver. Para determinar la versión de Application Server, ejecute el comando /usr/appserver/bin/asadmin version -v. La ruta de ejecución de este comando garantiza que se está viendo una versión de Application Server integrada en Solaris, y no una integrada en Java ES e instalada en /usr/appserver.
Compruebe si se creó un dominio predeterminado desde una versión de Application Server integrada en Solaris y si se está utilizando. Si el dominio está activo y en uso pero desconoce su ubicación, siga este procedimiento para averiguarla:
Abra el archivo /usr/appserver/bin/asadmin en un editor para ver su contenido.
Busque en el archivo asadmin la cadena asenv.conf. La línea que contiene esta cadena muestra la ruta de acceso absoluta al archivo asenv.conf.
Abra el archivo asenv.conf para conocer la ubicación de los dominios predeterminados de la instalación. El token AS_DEF_DOMAINS_PATH contiene el valor del directorio raíz domains donde se guarda el dominio predeterminado y los de nueva creación. Sepa que puede modificar esta ruta de acceso c con la opción de anulación --domaindir.
Una vez comprobado que existe una versión integrada de Application Server en la zona global, elimine todos los paquetes enumerados en el paso 1 para desinstalarla. A continuación, utilice el comando pkgrm para examinar y eliminar el contenido del directorio /usr/appserver de la zona global.
Tenga presente que la eliminación de Application Server de la zona global se propaga a la zona dispersa, ya que los paquetes de la versión integrada de Application Server se propagan a todas las zonas de forma predeterminada.
Message Queue integrado en Solaris instalado en la zona global
Como en el caso de Application Server integrado en Solaris, los paquetes de Message Queue también se instalan en el directorio /usr de la zona global y, por tanto, no pueden sobrescribrirse desde una zona dispersa. Los paquetes de Message Queue no son reubicables y siempre se instalan en /usr, punto de enlace de sólo lectura de las zonas dispersas.
Por tanto, antes de instalar binarios de Application Server en una zona dispersa debe utilizar el instalador de Application Server para instalar Message Queue en la zona global.
Puede instalar o actualizar Message Queue en la zona global con uno de los siguientes métodos. En todos los casos los paquetes se actualizarán si se detecta una versión anterior.
No se pueden seleccionar de forma explícita componentes de Message Queue de una instalación de Application Server, pues están ocultos y se seleccionan o se anula su selección de forma automática en el momento de instalar otros componentes. Los componentes de Message Queue se seleccionan siempre que se selecciona cualquier componente instalable de Application Server. Por ejemplo, ejecute el instalador Sun Java System Application Server 9.1 y seleccione Sample Applications para instalar Message Queue 4.1 como parte de una instalación de Application Server.
Como alternativa, puede utilizar el navegador para desplazarse hasta la página de descarga de Open Message Queue, hacer clic en el vínculo Solaris adecuado de los que se ofrecen en "Latest Open MQ 4.1 GUI Install Downloads" e instalar los paquetes de Message Queue 4.1 SVR4.
Application Server instalado en la zona global desde Java ES
Si la instalación de Application Server en la zona global es resultado de una instalación de Java ES, los componentes compartidos y Message Queue de la zona global se propagan a las zonas dispersas, pero Application Server no lo hace.
Para instalar Application Server en una zona dispersa:
Antes de realizar la instalación en una zona dispersa, siga estos pasos previos:
Ejecute el instalador de Sun Java System Application Server 9.1 en la zona global.
En el instalador, seleccione HADB o Sample Applications.
Elija la instalación de JDK y la actualización de todos los componentes.
Instale Application Server en la zona dispersa.
Application Server instalado en una zona dispersa desde Java ES
Para actualizar una versión de Application Server instalada desde Java ES en una zona dispersa:
Ejecute el instalador de Sun Java System Application Server 9.1 en la zona global.
En el instalador, seleccione HADB o Sample Applications.
Elija la instalación de JDK y la actualización de todos los componentes.
Ejecute el instalador de Sun Java System Application Server 9.1 en la zona dispersa para actualizar la instalación de Java ES en ella.
Tras la actualización de binarios, ejecute el asistente de actualización de Sun Java System Application Server 9.1. Para ejecutar esta herramienta utilice el comando bin/asupgrade desde la ubicación donde se instaló el nuevo Application Server. Para obtener más información, consulte la Guía de actualización y migración de Sun Java System Application Server 9.1.
Application Server instalado en la zona global desde el instalador de Sun Java System Application Server 9.1
Si Application Server se instaló en la zona global desde el instalador de Application Server, puede instalar una versión distinta de Application Server en una zona dispersa, ya que los paquetes de Application Server no se propagan a estas zonas.
Las zonas de raíz entera contienen paquetes copiados de la zona global que pueden propagarse. Las zonas de raíz entera ofrecen más flexibilidad de configuración, ya que sus paquetes pueden parchearse en el nivel local aunque sean copias de la zona global.
Instalar Application Server en una zona de raíz entera es mucho más sencillo que hacerlo en otras zonas. Todos los componentes de Application Server (incluidos componentes compartidos, Message Queue y HADB) pueden instalarse sin preocuparse por los paquetes de otras zonas, incluidas la global y las dispersas.
Las zonas de Solaris son muy eficaces y útiles para gran variedad de objetivos, pero pueden presentar complicaciones a la hora de instalar Application Server. Debe tener en cuenta un número de factores considerable que afectan a la propagación y a la preferencia entre zonas globales y no globales cuando se instala Sun Java System Application Server 9.1 o GlassFish versión 2 en una zona.
Developer Support: Consejos de programación en línea basados en incidentes, asistencia telefónica de productos, cursos de formación para desarrolladores, planes de servicio