Resolución de problemas de colectivo de Liberty
Puede encontrar una serie de problemas comunes al resolver problemas de Liberty. Los problemas normalmente se refieren a la configuración del controlador de colectivo, miembro o sistema host. Examine la lista de problemas para obtener información sobre las soluciones.
- Problemas relacionados con la conexión
- CWWKX0217E: No hay ningún MBean registrado actualmente con el nombre_objeto indicado
- CWWKX0215E: Existe un problema con el nombre de usuario o la contraseña proporcionados
- CWWKX8057I: El miembro colectivo no ha podido establecer una conexión con ningún controlador de colectivo. Controladores configurados: [nombre_host:número_puerto]
- Error: Conexión rechazada: conectar
- Error java.net.SocketException
- Problemas relativos a los mandatos start y
stop
- El inicio o la detención de los servidores de forma remota provoca un error de Java no encontrado
- CTGRI0000E: No se ha podido establecer una conexión con la máquina de destino con las credenciales de autorización que se han proporcionado
- CTGRI0001E: La aplicación no ha podido establecer una conexión con nombre_host
- CTGRI0026E No se ha podido establecer una conexión con nombre_host durante el intervalo de tiempo de espera especificado
- CWWKX6027E: La inicialización del controlador de colectivo no ha sido satisfactoria. El enlace de socket no ha sido satisfactorio para el host nombre_host y el puerto número_puerto. Es posible que el puerto ya esté en uso o que el host no coincida con la configuración del sistema.
- CWWKX7204E: No se puede conectar con el host nombre_host con las credenciales proporcionadas
- Problemas relacionados con la administración colectiva
Para obtener arreglos para otros problemas, consulte Problemas y restricciones conocidos del entorno de ejecución.
Problemas relativos a la conexión de CLI, Jython o MBean al utilizar el conector REST
- CWWKX0217E: No hay ningún MBean registrado actualmente con el nombre_objeto
- Mensaje:
Causa:Error: CWWKX0217E: No hay ningún MBean registrado actualmente con el ObjectName indicado 'WebSphere:feature=collectiveController,type=CollectiveRegistration,name=CollectiveRegistration"
El MBean podría no estar disponible todavía. Compruebe los registros del servidor para ver si el MBean ha indicado que está preparado.
Es posible que el repositorio de colectivo no se esté ejecutando. Compruebe si se ha iniciado el repositorio de colectivos.
Si el destino es un controlador de colectivo, verifique que el conjunto de réplicas esté activo. Si la mayoría de réplicas del controlador de colectivo no se han iniciado, se muestra este mensaje. Inicie las réplicas que faltan.
Es posible que la configuración del servidor esté incompleta. Asegúrese de que el servidor se haya configurado correctamente.
- CWWKX0215E: Ha habido un problema con el nombre de usuario o la contraseña proporcionados.
- Mensaje:
Causa:Error: CWWKX0215E: Ha habido un problema con el nombre de usuario o contraseña especificados. El servidor respondió con el código 401 y el mensaje 'Unauthorized'
Puede que el nombre de usuario y la contraseña no sean correctos. Asegúrese de que el nombre de usuario y la contraseña son correctos para el servidor de destino.
Al usuario puede que no se le otorgue el rol de Administrador. Asegúrese de que al usuario se le otorgue el rol Administrador o elija un usuario diferente.
Puede que la configuración de seguridad del servidor de destino no esté completa. Asegúrese de que la configuración de seguridad y los informes de servicio de seguridad se hayan definido como preparados (CWWKS0008I).
- CWWKX8057I: El miembro colectivo no ha podido establecer una conexión con ningún controlador de colectivo. Controladores configurados: [nombre_host:número_puerto]
- Mensaje:
Causa:CWWKX8057I: El miembro colectivo no ha podido establecer una conexión con ningún controlador de colectivo. Controladores configurados: [test.ibm.com:8889]
Es posible que los servidores no se estén ejecutando. Compruebe que el controlador de colectivo y los servidores de miembros se estén ejecutando.
Si se están ejecutando los servidores, determine si la configuración de SSL en el archivo server.xml del controlador o de un miembro se ha modificado recientemente. Si se genera este mensaje CWWKX8057I en el miembro, es muy probable que el controlador tenga una configuración de SSL incorrecta. Si se genera este mensaje en el controlador, es muy probable que un miembro tenga una configuración de SSL incorrecta. El problema puede producirse cuando una configuración no utiliza un elemento quickStartSecurity.
Para solucionar un problema con la configuración de SSL, compruebe lo siguiente en el archivo server.xml:
De forma predeterminada, <sslDefault sslRef> apunta a defaultSSLSettings. Si cambia <sslDefault sslRef> en la configuración del controlador de colectivo de modo que apunte a cualquier otra cosa que no sea defaultSSLSettings, por ejemplo, <sslDefault sslRef="LDAPSSLSettings"/>, se genera el error CWWKX8057I, a menos que la configuración tenga clientAuthenticationSupported="true" y el servidor de Liberty confíe en cualquier igual SSL que tenga un certificado de cliente.
Los valores SSL para HTTPS deben confiar en los certificados colectivos. Si se cambia <sslDefault sslRef> de modo que apunte a cualquier otra cosa que no sea defaultSSLSettings sin clientAuthenticationSupported="true" se puede desenlazar defaultSSLSettings de su configuración HTTPS. Los valores SSL colectivos forman parte de la configuración predeterminada.
Para obtener más información, consulte Correlación del rol de administrador para Liberty, Configuración de registros de usuarios LDAP en Liberty y Configuración de un elemento httpEndpoint para que utilice una configuración SSL distinta a la predeterminada.
- Error: Conexión rechazada: conectar
- Mensaje:
Causa:Error: Conexión rechazada: conectar
Puede que el host y el puerto no sean correctos. Asegúrese de que el host y el puerto son correctos para el servidor de destino.
Es posible que el servidor no se esté ejecutando. Asegúrese de que el servidor esté en ejecución.
- Error java.net.SocketException
- Mensaje:
Causa:java.net.SocketException: java.security.NoSuchAlgorithmException: Error al construir la implementación (algoritmo: Predeterminado, proveedor: SunJSSE, clase: sun.security.ssl.SSLContextImpl$DefaultSSLContext) (posiblemente otras...)
El almacén de confianza y la contraseña del almacén de confianza podrían ser incorrectos. Asegúrese de que la vía de acceso del almacén de confianza, la contraseña del almacén de confianza, y el contenido del almacén de confianza sean correctos.
Problemas relativos a los mandatos start y stop
- El inicio o la detención de los servidores de forma remota provoca un error de Java no encontrado
- Mensaje:
Iniciar o detener los servidores de forma remota (utilizando ClusterManager.startCluster o ServerCommands.startServer por ejemplo) genera el error siguiente:
Solución:{stderr=java: javaCmd 14: serverCmd 32: ./server 873: FSUM7351 no encontrado, stdout=, returnCode=127}
Los servidores miembros necesitan un archivo server.env que especifique una variable JAVA_HOME.
- CTGRI0000E: No se ha podido establecer una conexión con la máquina de destino con las credenciales de autorización que se han proporcionado.
- Mensaje:
Causa:CTGRI0000E No se ha podido establecer una conexión con la máquina de destino con las credenciales de autorización proporcionadas.
La autenticación falla utilizando el nombre de usuario o la contraseña:- Asegúrese de que el nombre de usuario y la contraseña son correctos en el elemento <hostAuthConfig> del archivo server.xml del servidor de destino.
- Actualice la configuración de autenticación del host mediante el mandato updateHost del colectivo.
La autenticación falla utilizando claves ssh: - CTGRI0001E: La aplicación no ha podido establecer una conexión con nombre_host.
- Mensaje:
Causa:{ExceptionMessage=ConnectException capturada al realizar la operación stopCluster en el miembro webp1a.ibm.com,/P1A/WebSphere_LP/usr,memberA1: java.net.ConnectException: CTGRI0001E La aplicación no ha podido establecer una conexión con webp1a.ibm.com., Exception=java.net.ConnectException: CTGRI0001E La aplicación no ha podido establecer una conexión con webp1a.ibm.com.}
Iniciar o detener los servidores de forma remota utilizando mandatos como ClusterManager.startCluster o ServerCommands.startServer puede causar el error.
El mensaje de CTGRI0001E, junto con el mensaje CTGRI0026E, pueden indicar que se han establecido demasiados conexiones SSH simultáneas con un host. Las posibles causas son las siguientes:- Autónomas, como por ejemplo un controlador de escalado
- Ejecución de ClusterManager.startCluster, ServerCommands.startServer u otros mandatos de gestión del sistema en diversos servidores de un único host que supera el número máximo de conexiones simultáneas no autenticadas con el daemon SSH.
Solución:
Confirme que el mecanismo RPC (como SSH) se ha iniciado. Confirme también que los valores configurados, como host y el puerto, son correctos.
Si su entorno utiliza SSH, cambie los valores del archivo de configuración de SSH. El valor de MaxStartups de la configuración de SSH tiene un valor predeterminado de 10 conexiones simultáneas no autenticadas. Cambiar el valor de MaxStartups del archivo de configuración de SSH, /etc/ssh/sshd_config, puede resolver el problema. El valor de MaxStartups especifica el número máximo de conexiones simultáneas no autenticadas con el daemon SSH. Las conexiones adicionales se descartan hasta que la autenticación es satisfactoria o hasta que LoginGraceTime caduca para una conexión. Puede habilitar el descarte temprano aleatorio especificando los tres valores separados por dos puntos iniciales:tasa:completas (por ejemplo, 10:30:60). sshd(8) rechaza los intentos de conexión con una probabilidad de índice/100 (30%) si actualmente hay inicio (10) conexiones no autenticadas. La probabilidad aumenta linealmente y todos los intentos de conexión se rechazan si el número de conexiones no autenticadas alcanza completas (60). Los siguientes valores de ejemplo del archivo de configuración de SSH especifican MaxStartups y otros valores que pueden aliviar los problemas de conexión:
Para obtener más información sobre el protocolo Secure Shell (SSH) y la modificación de los valores de /etc/ssh/sshd_config, consulte Configuración de RXA para operaciones de colectivo de Liberty.ClientAliveInterval 60 ClientAliveCountMax 3 MaxSessions 100 MaxStartups 100:30:200 LoginGraceTime 180
- CTGRI0026E No se ha podido establecer una conexión con nombre_host durante el intervalo de tiempo de espera especificado.
- Mensaje:
Causa:CTGRI0026E No se ha podido completar una conexión con webp1a.ibm.com durante el intervalo de tiempo de espera especificado.
Demasiadas conexiones SSH simultáneas con un host pueden causar este error.
Solución:Consulte la solución del mensaje CTGRI0001E.
- CWWKX6027E: La inicialización del controlador de colectivo no ha sido satisfactoria. El enlace de socket no ha sido satisfactorio para el host nombre_host y el puerto número_puerto. Es posible que el puerto ya esté en uso o que el host no coincida con la configuración del sistema.
- Mensaje:
Solución:CWWKX6027E: La inicialización del controlador de colectivo no ha sido satisfactoria. El enlace de socket no ha sido satisfactorio para el host * y el puerto 10.010. Es posible que el puerto ya esté en uso o que el host no coincida con la configuración del sistema.
Asegúrese de que el valor de host especificado en la configuración del controlador de colectivo es correcta. Por ejemplo, si el controlador de colectivo reside en myhost.com, compruebe el archivo server.xml del controlador para asegurarse de que el valor de host es correcto:
<variable name="defaultHostName" value="myhost.com" />
El mensaje de ejemplo muestra un asterisco (*) para el host, lo cual sugiere que el valor de host probablemente no ha provocado el problema. La causa más probable del problema es un conflicto de puerto.
Asegúrese de que el número de puerto del mensaje no esté ya en uso. En una línea de mandatos del sistema host en el que reside el controlador de colectivo, ejecute netstat -a para ver una lista de números de puerto y el estado de las conexiones. Si el número de puerto está en uso, la lista contendrá una entrada como la siguiente para port 10,010:
TCP 127.0.0.1:10010 myhost:0 LISTENING
Para solucionar este conflicto de puerto, abra un editor en el archivo server.xml del controlador de colectivo y añada una sentencia que establezca replicaPort en un número de puerto que no esté en uso en el sistema. Cualquiera de las siguientes sentencias puede establecer un valor replicaPort:
- <collectiveController replicaPort="10011"/>
- <collectiveController replicaHost="myhost.com" replicaPort="10011"/>
- <collectiveController replicaPort="${prop.controller_1.replica}"/>
Establezca la variable para el número de puerto, que tiene el nombre prop.controller_1.replica en esta sentencia, pero que puede tener cualquier nombre variable que elija, en un archivo bootstrap.properties o en un código XML <variable name="nombre" value="valor"/>.
- CWWKX7204E: No se puede conectar con el host nombre_host con las credenciales proporcionadas.
- Mensaje:
Solución:La operación localhost,C:/wlp,member1 stop ha provocado una excepción: ConnectException capturada al realizar la operación stopCluster en el miembro localhost,C:/wlp,member1: java.net.ConnectException: CWWKX7204E: No se puede conectar con el host localhost con las credenciales proporcionadas.
Asegúrese de que la información de autenticación del miembro de clúster se ha establecido correctamente y de que se cumplan todos los requisitos RXA (Remote Execution and Access). Muchas operaciones de RXA necesitan acceder a recursos a los que normalmente no se puede acceder desde cuentas de usuarios estándar. Consulte Configuración de RXA para operaciones de colectivo de Liberty.
Problemas relacionados con la administración colectiva
- El mandato remove de colectivo no ha eliminado un miembro de clúster de escalado automático del colectivo
- Mensaje:
Solución:El servidor Cluster1 especificado no se ha encontrado en la ubicación ${wlp.install.dir}/Cluster1.zip/wlp/usr No se han eliminado recursos de colectivo. No se ha encontrado el userDir especificado ${wlp.install.dir}/Cluster1.zip/wlp/usr
La práctica estándar es no eliminar manualmente miembros de clúster de escalado automático de un colectivo. El controlador de escalado gestiona automáticamente el colectivo. Consulte Configuración de clústeres suministrables para la elasticidad de Liberty.
Sin embargo, si necesita eliminar un miembro de clúster que un controlador de escalado ha añadido a un colectivo, puede establecer las variables de entorno WLP_USER_DIR y JAVA_HOME y, a continuación, ejecutar el mandato remove de colectivo para eliminar el miembro de clúster del colectivo.
- Establezca WLP_USER_DIR en la ubicación del miembro de clúster de escalado
automático que desea eliminar.
export WLP_USER_DIR=/wlp.usr/defaultStackGroup.Cluster1/d16d298c-ea7f-4782-bef6-2e54fb80de20/Cluster1.zip/wlp/usr
- Si no se puede ejecutar Java desde la ubicación del miembro de clúster de escalado automático,
establezca JAVA_HOME para poder ejecutar un mandato de Liberty para eliminar el
miembro de clúster.
export JAVA_HOME=/wlp.jre/jre.18.zip/
- Detenga el miembro de clúster.
/wlp/wlp.855.zip/wlp/bin/server stop Cluster1
- Ejecute el mandato collective remove para eliminar el miembro de clúster del
colectivo.
/wlp/wlp.855.zip/wlp/bin/collective remove Cluster1 --host=controllerHost --port=9443 --user=admin --password=password
Consulte Eliminación de miembros de un colectivo de Liberty.
- Establezca WLP_USER_DIR en la ubicación del miembro de clúster de escalado
automático que desea eliminar.