Ocasionalmente, puede encontrar un comportamiento de ubicación de aplicaciones que no es el previsto. En este tema se describen algunas de las preguntas formuladas con mayor frecuencia y cosas que se deben buscar cuando la ubicación de aplicaciones no funciona del modo previsto.
¿Dónde se ejecuta el controlador de ubicación de aplicaciones?
Para averiguar dónde se ejecuta el controlador de ubicación de aplicaciones, puede utilizar la consola administrativa o los scripts.
Para comprobar la ubicación en la consola administrativa, pulse . También se ejecuta el script
checkPlacementLocation.jacl para visualizar el servidor en el que se está ejecutando el controlador de ubicación de aplicaciones.
¿Cuándo inicia el controlador de ubicación de aplicaciones un servidor?
El controlador de ubicación de aplicaciones inicia servidores por los motivos siguientes:
- Para cumplir una cantidad mínima de instancias de aplicaciones que se han definido para el clúster dinámico.
- Cuando se ha direccionado una solicitud a través del direccionador On Demand para un clúster dinámico desactivado.
- Cuando un clúster dinámico se puede beneficiar de capacidad adicional.
El gestor de flujo de solicitudes autónomas envía una señal que indica cuan beneficioso puede resultar para un clúster dinámico disponer de más capacidad, y para que se inicien instancias adicionales para el clúster dinámico.
Para obtener una vista de qué se está ejecutando en la vista del controlador de ubicación de aplicaciones, consulte los mensajes
SystemOut.log.
¿Cuándo detiene el controlador de ubicación de aplicaciones un servidor?
El controlador de ubicación de aplicaciones detiene un servidor por los motivos siguientes:
- Existe una restricción de memoria en un nodo. El controlador de ubicación de aplicaciones comprende el valor mínimo del clúster dinámico o la cantidad de capacidad necesaria para ese clúster dinámico y las restricciones de procesador y de memoria del sistema.
Si desciende la memoria disponible en un nodo, el controlador de ubicación de aplicaciones intentará detener instancias para impedir que el nodo se intercambie.
- El clúster dinámico se configura para un inicio poco activo de la aplicación y una detención desocupada proactiva, y no existen solicitudes para el clúster dinámico.
Si el clúster dinámico no tiene solicitudes, el controlador de ubicación de aplicaciones intentará detener las instancias de ese clúster para eliminar el consumo de recursos de un clúster dinámico inactivo.
¿Por qué el controlador de ubicación de aplicaciones no ha iniciado un servidor?
Puede que el controlador de ubicación de aplicaciones no muestre que el servidor se ha iniciado por uno de los motivos siguientes:
- La configuración no tiene habilitada la ubicación de aplicaciones dinámica
- Verificar que el controlador de ubicaciones esté habilitado. En la consola administrativa, pulse .
- Verificar que el clúster o los clústeres de objetos son clústeres dinámicos. El controlador de ubicación de aplicaciones sólo actúa en los clústeres dinámicos.
En la consola administrativa, pulse . Compruebe que en el campo Modalidad operacional para cada clúster de objetos
aparezca Automático. Si no es así, seleccione los clústeres dinámicos y
pulse Automático. Después de seleccionar automático para los clústeres dinámicos, pulse Establecer modalidad.
- Verificar que los parámetros de período mínimo de tiempo configurado entre cambio de ubicación no se hayan establecido en un valor muy elevado. En la consola administrativa, pulse . Establezca el campo Tiempo mínimo entre cambios de ubicación en un valor adecuado.
Los valores aceptables oscilan entre 1 minuto y 14 horas.
- El valor de tiempo de espera de operación del servidor está establecido en un valor demasiado bajo
A veces, el controlador de ubicación de aplicaciones no inicia un servidor porque se ha excedido el tiempo de espera de operación del servidor.
Puede configurar la cantidad de tiempo antes de que se exceda el tiempo de espera en la consola administrativa.Pulse . Edite el campo Tiempo de espera de operación del servidor. Si la célula es grande, el sistema es lento o el sistema tiene una gran carga de trabajo, defina este campo en un valor mayor.
Este valor representa la cantidad de tiempo para que se inicie cada servidor, pero el tiempo de espera se excede en función de la cantidad de servidores de la célula.
Por ejemplo, si dispone de 5 servidores y define el valor en 10 minutos, se excederá el tiempo de espera trascurridos 50 minutos.
- No hay suficiente memoria disponible
Puede diagnosticar cuándo no hay suficiente memoria disponible consultando los inicios fallidos en el archivo SystemOut.log.
El controlador de ubicación de aplicaciones utiliza las fórmulas siguientes para calcular el consumo de memoria de un miembro de clúster dinámico:
Si no hay otras instancias del clúster dinámico en ejecución (arranque en frío):
Consumo de memoria del servidor = 1.2*tamaño máximo almacenamiento dinámico + 64 MB
Si se están ejecutando otras instancias del clúster dinámico, el perfilador de memoria del controlador de ubicación de aplicaciones utilizará la fórmula siguiente:
Consumo de memoria del servidor = .667*tamaño memoria residente + .333*tamaño memoria virtual
Los perfiles de memoria no persisten cuando se inicia el controlador de ubicación de aplicaciones.
Si desea realizar una depuración, puede inhabilitar el perfilador de memoria del controlador de ubicación de aplicaciones definiendo la propiedad personalizada memoryProfile.isDisabled en true.
Visualización de la información de inicios fallidos
Recuerde: La lista de inicios fallidos no persiste cuando se reinicia el controlador de ubicación de aplicaciones o éste se traspasa entre nodos.
Puede ver la información de inicios fallidos con una de las opciones siguientes:
- Utilice el script PlacementControllerProcs.jacl para consultar las operaciones fallidas del servidor.
Ejecute el mandato siguiente:
./wsadmin.sh -profile PlacementControllerProcs.jacl -c "anyFailedServerOperations"
- Utilice los mandatos de la herramienta wsadmin para visualizar los inicios fallidos.
Por ejemplo, puede ejecutar los mandatos siguientes:
wsadmin>apc = AdminControl.queryNames('WebSphere:type=PlacementControllerMBean,process=dmgr,*')
wsadmin>print AdminControl.invoke(apc,'anyFailedServerOperations')
Cuando el servidor esté disponible, se eliminará el distintivo de inicio.
Puede utilizar el siguiente mandato de la herramienta wsadmin para listar los servidores que se tienen habilitado el distintivo de inicio fallido:
wsadmin>print AdminControl.invoke(apc,'anyFailedServerOperations') OpsManTestCell/xdblade09b09/DC1_xdblade09b09
- Consulte los inicios fallidos en el archivo SystemOut.log.
¿Por qué el controlador de ubicación de aplicaciones ha iniciado más servidores de los previstos?
Es posible iniciar más servidores de los previstos cuando hay problemas de red o de comunicación que impiden que el controlador de ubicación de aplicaciones reciba la confirmación de que se ha iniciado un servidor.
Cuando el controlador de ubicación de aplicaciones no recibe la confirmación, se posible que se inicie un servidor adicional.
¿Cómo se sabe que el controlador de ubicación de aplicaciones ha completado una acción o que está a punto de completarla?
Puede comprobar las acciones del controlador de ubicación de aplicaciones con las tareas de tiempo de ejecución.
Para ver las tareas de tiempo de ejecución, pulse . La lista de tareas en tiempo de ejecución incluye las tareas que está llevando a cabo el controlador de ubicación de aplicaciones, así como la confirmación de que se han realizado los cambios.
Cada tarea de tiempo de ejecución tiene un estado de satisfactorio, error o desconocido.
Un estado de desconocido significa que no hay ningún tipo de confirmación de si la tarea ha resultado satisfactoria.
¿Cómo se puede iniciar o detener un servidor sin interferir en el controlador de ubicación de aplicaciones?
Si se inicia o se detiene un servidor mientras el clúster dinámico está en modalidad automática, el controlador de ubicación de aplicaciones puede decidir realizar cambios en las acciones.
Para evitar interferir en el controlador de ubicación de aplicaciones cuando se inicie o se detenga un servidor, coloque el clúster dinámico en modalidad manual antes de iniciar o detener un servidor.
En un sistema heterogéneo (hardware o sistemas operativos mixtos), ¿cómo toma un servidor el controlador de ubicación de aplicaciones del lugar del que debe iniciarlo?
La política de miembros de un clúster dinámico define los nodos elegibles en los que pueden iniciarse los servidores.
Desde este conjunto de nodos, el controlador de ubicación de aplicaciones selecciona un nodo en el que se va a iniciar un servidor considerando las restricciones del sistema, como por ejemplo, procesador disponible y capacidad de memoria. El controlador de ubicación de aplicaciones no toma las decisiones sobre la ubicación del servidor en función de los sistemas operativos.
¿Cuándo está bajo carga un clúster dinámico, cuándo inicia otro servidor el controlador de ubicación de aplicaciones?
El controlador de ubicación de aplicaciones funciona con el gestor de flujos de solicitudes autónomo (ARFM) y las políticas de servicio definidas para determinar cuándo se inician los servidores.
Las políticas de servicio definen los valores máximo de rendimiento y prioridad para aplicaciones y guían a los controladores autónomos a la hora de tomar decisiones sobre el cambio de la forma del tráfico y el suministro de capacidad.
La finalidad de la política de servicio indirectamente influye en las acciones que emprende el controlador de ubicación de aplicaciones.
El controlador de ubicación de aplicaciones suministra más servidores en función de la información del ARFM sobre cuánta capacidad es necesarias para la cantidad de solicitudes simultáneas que se están realizando en las colas de ARFM.
Este número se determina en función de la cantidad de capacidad que utiliza cada solicitud cuando está activa y cuántas solicitudes determina ARFM que se pueden llevar a cabo simultáneamente.
La cantidad de solicitudes simultáneas dependerá de la prioridad de la aplicación, de la finalidad, etcétera.
Los objetivos del rendimiento que se definen en las políticas de servicio no ofrecen garantías.
WebSphere Virtual Enterprise no puede hacer que la aplicación responda más rápido del límite.
Además, no se proporciona más capacidad si ya se ha proporcionado capacidad suficiente para cumplir la demanda, aunque se infrinja el objetivo de la política de servicio.
WebSphere Virtual Enterprise puede impedir los objetivos de la política de servicio no reales introduciendo inestabilidad en el entorno.
¿Cómo determina el controlador de ubicación de aplicaciones el tamaño máximo de almacenamiento dinámico del servidor?
Es posible cambiar el tamaño de almacenamiento dinámico del servidor en la plantilla del clúster dinámico.
Si desea más información, consulte
Modificación del almacenamiento dinámico de JVM
.
¿Cómo funciona el controlador de ubicación de aplicaciones con Compute Grid en particular, asignado trabajos y seleccionando puntos finales?
Cuando el controlador de ubicación de aplicaciones y Compute Grid se configuran para que trabajen conjuntamente, Compute Grid delega la tarea de la selección de puntos finales al controlador de ubicación. Cuando se envían los trabajos, Compute Grid pide al controlador de ubicación que seleccione un punto final en el que se va a ejecutar el trabajo.
La información que incluye Compute Grid en esta solicitud al controlador de ubicación de aplicaciones incluye la clase de trabajo, el objetivo del tiempo de terminación y los nodos, clústeres o servidores donde se permite que se ejecute el trabajo.
Cuando el controlador de ubicación de aplicaciones ha seleccionado un punto final, esa información pasa a Compute Grid, que se responsabilizará de que se inicie el trabajo.
Cuando el controlador de ubicación de aplicaciones selecciona el punto final, se considera el objetivo de tiempo de terminación para el trabajo, los recursos disponibles en el sistema, el perfil de ejecución de los trabajos anteriores en la misma clase y otros trabajos, incluidos trabajos transaccionales y trabajos por lotes, que el sistema debe gestionar.
El controlador de ubicación de aplicaciones intenta seleccionar un punto final en el que el trabajo disponga de recursos suficientes para llevarse a cabo o antes que finalice antes del tiempo de terminación.
Debido al proceso de selección que se debe producir, el controlador de ubicación de aplicaciones no siempre selecciona un punto final para el trabajo de forma inmediata.
En esta situación, el trabajo no se inicia inmediatamente.
Este retraso probablemente se debe a que el sistema es pequeño, tiene otros trabajos transaccionales o por lotes y el objetivo del tiempo de terminación del trabajo es largo.
¿Cómo funciona el controlador de ubicación de aplicaciones con WebSphere eXtreme Scale?
El controlador de ubicación de aplicaciones se integra con
WebSphere eXtreme Scale. En particular, antes de detener un miembro del clúster dinámico que contiene un servidor de contenedores, el controlador de ubicación de aplicaciones se pone en contacto con el servidor de contenedores para
desactivar temporalmente cualquier trabajo que se estuviera realizando y traslada los datos vitales a las ubicaciones de copia de seguridad, cuando sea necesario.
El servicio de catálogo se inicia automáticamente en el gestor de despliegue configurado.
Si desea configurar la migración tras error para el servicio de catálogo, puede crear una cuadrícula de servicio de catálogo.
Consulte Inicio del proceso de servicio de catálogo en un entorno de WebSphere Application Server para obtener más información.
La ubicación de aplicaciones también reconoce el concepto de zona de réplica de WebSphere eXtreme Scale. El controlador de ubicación de aplicaciones garantiza que cuando son necesarias varias instancias de un clúster dinámico, las instancias de ubican en varias zonas de réplica. Para obtener esta funcionalidad, el clúster dinámico debe
estar correlacionado con varios grupos de nodos de zonas de réplica. Consulte Utilización de las zonas para la ubicación de réplicas para obtener más información.
¿Por qué los miembros del clúster dinámico no heredan propiedades de la plantilla?
Debe guardar clústeres dinámicos en el repositorio maestro antes de realizar cambios en la plantilla de servidor.
Si tiene miembros del clúster dinámico que no heredan las propiedades de la
plantilla, es probable que la plantilla de servidor haya sufrido cambios en un
espacio de trabajo no guardado. Para resolver este problema, suprima el clúster
dinámico y vuelva a crearlo.
Guarde los cambios en el repositorio maestro.
Puede asegurarse de que los cambios se guardan en el repositorio maestro después de
pulsar Finalizar; para ello, pulse Guardar en la ventana de mensajes
del marco superior. Pulse de nuevo Guardar en la ventana Guardar en
configuración maestra. Pulse Sincronizar cambios con nodos.
¿Por qué mi clúster dinámico tiene tan pocos servidores activos?
Si encuentra problemas en los que no hay los servidores suficientes en ejecución en
el clúster dinámico, realice las acciones siguientes:
- Cuando los nodos del grupo de nodos no se estén utilizando demasiado, compruebe
que se cumpla la política de servicio. A veces la política puede estar definida de
forma poco clara y aunque el sistema pueda cumplirla, no lo hará según sus
expectativas. Para comprobar o cambiar una política de servicio, en la consola
administrativa seleccione Políticas operativas > Políticas de servicio >
Seleccione una política existente. Seleccione el tipo de objetivo, el valor de objetivo y la importancia de la política y realice los cambios que sean necesarios.
- Cuando los nodos del grupo de nodos se estén utilizando demasiado, compare los objetivos de la política de servicio de este clúster con los objetivos de la política de servicio de otros clústeres activos.
Si el tráfico perteneciente a este clúster tiene objetivos de servicio de destino de menor importancia o más flojos en relación con otros clústeres, es muy probable que el sistema cree una instancia con menos servidores para este clúster.
Para comprobar o cambiar una política de servicio, en la consola administrativa
seleccione Políticas operativas > Políticas de servicio > Seleccione una
política existente.
- Cuando del grupo de nodos parece que tenga capacidad adicional pero no se satisfacen las políticas del servicio, compruebe los valores de configuración en el clúster dinámico. Puede que se hayan creado demasiado pocas instancias del clúster dinámico como resultado del valor de política maxInstances.