Traitement des incidents liés à la collectivité Liberty

Vous pouvez rencontrer une série de problèmes courants lors du traitement des incidents dans Liberty. Ces problèmes concernent généralement la configuration du contrôleur de collectivité, d'un membre ou d'un système hôte. Parcourez la liste des problèmes pour en savoir plus sur la manière de les résoudre.

Pour la résolution d'autres erreurs, consultez la section Liberty : Problèmes et restrictions connues concernant l'environnement d'exécution.

Problèmes concernant la connexion CLI, Jython ou MBean avec le connecteur REST

CWWKX0217E: No MBean is currently registered with the given object_name
Message :
Erreur : CWWKX0217E: No MBean is
currently registered with the given ObjectName
'WebSphere:feature=collectiveController,type=CollectiveRegistration,name=CollectiveRegistration'
Cause :

Il se peut que le bean géré ne soit pas encore disponible. Consultez les journaux du serveur pour déterminer si le bean géré est prêt.

Le référentiel de collectivités risque de ne pas être démarré. Déterminez si le référentiel de la collectivité est démarré.

Si la cible est un contrôleur de collectivité, vérifiez que le jeu de répliques est actif. Si la plupart des répliques du contrôleur de collectivité ne sont pas démarrées, ce message s'affiche. Démarrez les répliques restantes.

Il se peut que la configuration du serveur soit incomplète. Vérifiez que le serveur est configuré correctement.

CWWKX0215E: There was a problem with the user name or password provided.
Message :
Erreur : CWWKX0215E: There was a
problem with the user name or password provided. The server responded
with code 401 and message 'Unauthorized'
Cause :

Il est possible que le nom d'utilisateur et le mot de passe soit incorrects. Vérifiez que le nom d'utilisateur et le mot de passe sont corrects pour le serveur cible.

Il se peut que l'utilisateur ne possède pas le rôle Administrateur. Vérifiez que l'utilisateur possède le rôle Administrateur ou choisissez un autre utilisateur.

Il se peut que la configuration de la sécurité pour le serveur cible soit incomplète. Vérifiez que la configuration de sécurité est définie et que le service de sécurité est prêt (CWWKS0008I).

CWWKX8057I: The collective member is unable to establish a connection to any of the collective controllers. Configured controllers: [host_name:port_number]
Message :
CWWKX8057I: The collective member is unable to establish a connection to any of the collective controllers. Configured controllers: [test.ibm.com:8889]
Cause :

Il se peut que les serveurs ne soient pas démarrés. Vérifiez que le contrôleur de collectivité et les serveurs membre sont en cours d'exécution.

Si les serveurs sont en cours d'exécution, déterminez si la configuration SSL dans le fichier server.xml du contrôleur ou d'un membre a été récemment modifiée. Si le CWWKX8057I est émis dans le membre, il est probable que le contrôleur comporte une configuration SSL incorrecte. Si ce message apparaît dans le contrôleur, il est probable qu'un membre comporte une configuration SSL incorrecte. Ce problème peut survenir lorsqu'une configuration n'utilise pas un élément quickStartSecurity.

Pour résoudre un problème lié à la configuration SSL, effectuez les vérifications suivantes dans le fichier server.xml :

  1. Vérifiez que le rôle d'administrateur est configuré. La section Mappage du rôle d'administrateur pour Liberty permet de comparer les paramètres de l'élément quickStartSecurity à ceux du registre de base ou LDAP.
  2. Vérifiez et mettez à jour la configuration SSL si nécessaire.
    1. Vérifiez la configuration SSL par défaut, le cas échéant. Recherchez <sslDefault sslRef="LDAPSSLSettings"></sslDefault> afin de voir si le fichier server.xml contient une configuration par défaut et s'il est nécessaire de spécifier une configuration SSL par défaut.

      Si la configuration <sslDefault sslRef="LDAPSSLSettings"></sslDefault> n'est pas nécessaire, retirez-la afin que la configuration comporte au moins deux configurations SSL (par exemple, une pour la collectivité et une pour LDAP) à utiliser.

      Si la configuration par défaut est nécessaire, conservez la ligne <sslDefault sslRef="LDAPSSLSettings"></sslDefault> et passez aux étapes b et c pour ajouter une authentification de client et importer des certificats dans la configuration SSL par défaut. Voir Configuration de registres d'utilisateurs LDAP dans Liberty.

    2. Activez l'authentification client. Configurez le port HTTPS pour le serveur avec clientAuthenticationSupported="true.

      Par exemple, un contrôleur de collectivité qui utilise la valeur SSL LDAP par défaut pour sécurité doit comporter clientAuthenticationSupported="true dans son élément ssl pour pouvoir fonctionner avec un membre de collectivité.

    3. Importez les certificats nécessaires. Vous pouvez utiliser l'outil de clé pour importer des certificats. Le magasin de clés de confiance par défaut doit inclure des certificats de collectiveTrust.jks.
Informations d'arrière-plan :

Par défaut, <sslDefault sslRef> pointe sur defaultSSLSettings. Si vous modifiez <sslDefault sslRef> dans la configuration du contrôleur de collectivité afin qu'il pointe sur autre chose que defaultSSLSettings, par exemple <sslDefault sslRef="LDAPSSLSettings"/>, l'erreur CWWKX8057I se produit à moins que la configuration ne comporte clientAuthenticationSupported="true" et que le serveur Liberty fasse confiance à un homologue SSL comportant un certificat client.

Les paramètres SSL pour HTTPS doivent faire confiance aux certificats de collectivité. Si vous modifiez <sslDefault sslRef> afin qu'il pointe sur autre chose que defaultSSLSettings sans clientAuthenticationSupported="true", cela peut déconnecter defaultSSLSettings de sa configuration HTTPS. Les paramètres SSL de collectivité font partie de la configuration par défaut.

Pour plus d'informations, voir Mappage du rôle d'administrateur pour Liberty, Configuration de registres d'utilisateurs LDAP dans Liberty et Configuration d'un httpEndpoint pour utiliser une configuration SSL autre que la configuration par défaut.

Erreur : Connection refused: connect
Message :
Erreur : Connection refused: connect
Cause :

Il se peut que l'hôte et le port soit incorrects. Vérifiez que l'hôte et le port sont corrects pour le serveur cible.

Il se peut que le serveur ne soit pas démarré. Vérifiez que le serveur est démarré.

java.net.SocketException error
Message :
java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)(possibly others...)
Cause :

Il se peut que le fichier de clés certifiées et son mot de passe soient incorrects. Vérifiez que le chemin d'accès au fichier de clés certifiées, le mot de passe du fichier de clés certifiées et le contenu du fichier de clés certifiées sont corrects.

Problèmes concernant les commandes start et stop

L'arrêt ou le démarrage des serveurs à distance génère une erreur indiquant que Java est introuvable
Message :

Starting or stopping the servers remotely (by using ClusterManager.startCluster or ServerCommands.startServer for example) encounters the following error:

{stderr=java: javaCmd 14: serverCmd 32: ./server 873: FSUM7351 not found, stdout=, returnCode=127}
Solution :

The member servers need a server.env file that specifies a JAVA_HOME variable.

CTGRI0000E: Could not establish a connection to the target machine with the authorization credentials that were provided.
Message :
CTGRI0000E Could not establish a
connection to the target machine with the authorization credentials
that were provided.
Cause :
L'authentification échoue en utilisant un nom d'utilisateur et un mot de passe :
  • Vérifiez que le nom d'utilisateur et le mot de passe sont corrects dans l'élément <hostAuthConfig> du fichier server.xml du serveur cible.
  • Mettez à jour la configuration de l'authentification d'hôte à l'aide de la commande de collectivité updateHost.
L'authentification échoue avec les clés ssh :
  • Vérifiez les droits d'accès suivants :
    • ~/.ssh : 0700
    • ~/.ssh/authorized_keys : 0600
  • ~/.ssh et tous les enfants doivent être corrects si vous utilisez SELinux. Utilisez restorecon -R pour corriger les droits d'accès.
CTGRI0001E: The application could not establish a connection to host_name.
Message :
{ExceptionMessage=ConnectException
caught while performing stopCluster operation on member
webp1a.ibm.com,/P1A/WebSphere_LP/usr,memberA1:
java.net.ConnectException: 
CTGRI0001E The application could not establish a connection to
webp1a.ibm.com., Exception=java.net.ConnectException: CTGRI0001E The
application could not establish a connection to webp1a.ibm.com.}
Cause :

Le démarrage ou l'arrêt de serveurs à distance à l'aide de commandes telle que ClusterManager.startCluster ou ServerCommands.startServer peut générer cette erreur.

Le message CTGRI0001E, ainsi que le message CTGRI0026E, peuvent indiquer que trop de connexions SSH simultanées sont effectuées à un hôte. Les causes possibles sont les suivantes :
  • Autonomes, par exemple un contrôleur de mise à l'échelle
  • Exécution des commandes ClusterManager.startCluster, ServerCommands.startServer ou d'autres commandes de gestion du système sur un certain nombre de serveurs sur un seul hôte et dont le nombre dépasse le nombre maximum de connexions non authentifiées simultanées au serveur SSH.

Solution :

Confirmez que le mécanisme RPC (SSH, par exemple) est démarré. Confirmez également que les paramètres configurés, par exemple, l'hôte et le port, sont corrects.

Si votre environnement utilise SSH, modifiez les paramètres du fichier de configuration SSH. Le paramètre de configuration SSH MaxStartups comporte par défaut 10 connexions non authentifiées simultanées. La modification du paramètre MaxStartups dans le fichier de configuration SSH, /etc/ssh/sshd_config, peut résoudre le problème. Le paramètre MaxStartups indique le nombre maximum de connexions non authentifiées simultanées au serveur SSH. Les connexions supplémentaires sont supprimées jusqu'à ce que l'authentification aboutisse ou jusqu'à ce que LoginGraceTime expire pour une connexion. Vous pouvez activer une suppression anticipée aléatoire en indiquant les trois valeurs suivantes séparées par un deux points : start:rate:full (par exemple, 10:30:60). sshd(8) refuse les tentatives de connexion avec une probabilité de rate/100 (30%) s'il existe actuellement start (10) connexions non authentifiées. Cette probabilité s'accroît de façon linéaire et toutes les tentatives de connexion sont refusées si le nombre de connexions non authentifiées atteint full (60). Les exemples suivants de paramètres de fichier configuration SSH indiquent MaxStartups et d'autres paramètres qui peuvent atténuer es problèmes de connexion :
ClientAliveInterval 60
ClientAliveCountMax 3
MaxSessions 100
MaxStartups 100:30:200
LoginGraceTime 180
Pour plus d'informations sur le protocole Secure Shell (SSH) et la modification des paramètres /etc/ssh/sshd_config, voir Configuration de RXA pour les opérations de collectivité Liberty.
CTGRI0026E A connection could not be completed to host_name during the specified timeout interval.
Message :
CTGRI0026E A connection could not be completed to webp1a.ibm.com during the specified timeout interval.
Cause :

Un trop grand nombre de connexions SSH à un hôte peut provoquer cette erreur.

Solution :

Voir la solution pour le message CTGRI0001E.

CWWKX6027E: The collective controller initialization did not succeed. The socket bind did not succeed for host host_name and port port_number. The port might already be in use or the host does not match the system configuration.
Message :
CWWKX6027E: The collective controller initialization did not succeed. The socket bind did not succeed for host * and port 10,010. The port might already be in use or the host does not match the system configuration.
Solution :

Assurez-vous que la valeur hôte spécifiée dans la configuration du contrôleur de collectivité est correcte. Par exemple, si le contrôleur de collectivité réside sur myhost.com, vérifiez le fichier server.xml du contrôleur afin de vous assurer que la valeur hôte est correcte :

<variable name="defaultHostName" value="myhost.com" />

L'exemple de message indique un astérisque (*) pour l'hôte, ce qui suggère que la valeur hôte n'a probablement pas provoqué ce problème. La raison probable du problème est un conflit de port.

Assurez-vous que le numéro de port indiqué dans le message n'est pas déjà en cours d'utilisation. En ligne de commande sur l'ordinateur hôte où réside le contrôleur de collectivité, exécutez la commande netstat -a afin d'afficher une liste des numéros de port et l'état des connexions. Si le numéro de port est utilisé, la liste comporte une entrée telle que la suivante pour le port port 10,010 :

TCP 127.0.0.1:10010 myhost:0 LISTENING

Pour résoudre ce conflit de port, ouvrez un éditeur dans le fichier server.xml du contrôleur de collectivité et ajoutez une instruction qui définit replicaPort sur un numéro de port qui n'est pas utilisé sur l'ordinateur. L'une des instructions suivantes peut définir une valeur replicaPort :

  • <collectiveController replicaPort="10011"/>
  • <collectiveController replicaHost="myhost.com" replicaPort="10011"/>
  • <collectiveController replicaPort="${prop.controller_1.replica}"/>

    Définissez la variable pour le numéro de port, dont le nom est prop.controller_1.replica dans cette instruction, mais qui peut porter le nom de variable que vous choisissez, dans un fichier bootstrap.properties ou dans une balise XML <variable name="name" value="value"/>.

CWWKX7204E : Impossible de se connecter à l'hôte nom_hôte avec les données d'identification fournies.
Message :
localhost,C:/wlp,member1 stop operation resulted in an Exception: ConnectException caught while performing stopCluster operation on member localhost,C:/wlp,member1: java.net.ConnectException: 
CWWKX7204E: Cannot connect to host localhost with the credentials provided.
Solution :

Vérifiez que les informations d'authentification du membre de cluster sont correctement définies et que toutes les exigences Remote Execution and Access (RXA) sont satisfaites. Un grand nombre d'opérations RXA requiert l'accès aux ressources qui ne sont généralement pas accessibles par les comptes utilisateur standard. Voir Configuration de RXA pour les opérations de collectivité Liberty.

Problèmes impliquant l'administration de la collectivité

La commande de collectivité remove n'a pas supprimé un membre de cluster auto-ajusté de la collectivité
Message :
Specified server Cluster1 was not found at location ${wlp.install.dir}/Cluster1.zip/wlp/usr
No collective resources were removed.
Specified userDir ${wlp.install.dir}/Cluster1.zip/wlp/usr was not found
Solution :

La pratique standard consiste à supprimer manuellement les membres de cluster auto-ajustés d'une collectivité. Le contrôleur de mise à l'échelle gère automatiquement la collectivité. Voir Configuration de clusters avec application des accès pour l'élasticité Liberty.

Cependant, si vous avez besoin de supprimer un membre de cluster qu'un contrôleur de mise à l'échelle a ajouté à une collectivité, vous pouvez définir les variables d'environnement WLP_USER_DIR et JAVA_HOME puis exécuter la commande de collectivité remove pour supprimer le membre de cluster de la collectivité.

  1. Définissez WLP_USER_DIR sur l'emplacement du membre de cluster auto-ajusté que vous souhaitez supprimer.
    export WLP_USER_DIR=/wlp.usr/defaultStackGroup.Cluster1/d16d298c-ea7f-4782-bef6-2e54fb80de20/Cluster1.zip/wlp/usr
  2. Si Java ne peut pas être exécuté à partir de l'emplacement du membre de cluster auto-ajusté, définissez JAVA_HOME de manière à pouvoir exécuter une commande Liberty pour supprimer le membre du cluster.
    export JAVA_HOME=/wlp.jre/jre.18.zip/
  3. Arrêtez le membre du cluster.
    /wlp/wlp.855.zip/wlp/bin/server stop Cluster1
  4. Exécutez la commande collective remove pour supprimer le membre du cluster de la collectivité.
    /wlp/wlp.855.zip/wlp/bin/collective remove Cluster1 --host=controllerHost --port=9443 --user=admin --password=password

    Voir tagt_wlp_remove_member.html.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwlp_collective_trouble
Nom du fichier : cwlp_collective_trouble.html