Retrait de membres d'une collectivité Liberty

Vous pouvez utiliser la commande remove de l'utilitaire de collectivité pour retirer un serveur membre d'une collectivité. La commande remove annule l'enregistrement du serveur membre de la collectivité et retire les fichiers membre qui appartiennent à la collectivité. La commande remove ne supprime pas le serveur membre ni ne modifie le fichier server.xml du membre.

Pourquoi et quand exécuter cette tâche

Les administrateurs d'une collectivité peuvent ajouter un serveur à la collectivité à l'aide de la commande join et, lorsque le serveur membre n'est plus nécessaire, retirer ce serveur de la collectivité à l'aide de la commande remove.

La commande remove permet de retirer un serveur membre qui n'existe pas. Par exemple, la commande peut permettre de retirer des informations sur le membre du contrôleur de collectivité dans les situations suivantes :

  • Si le membre est accidentellement ou intentionnellement supprimé
  • Si le déploiement échoue et si le membre est partiellement créé ou que le membre de configuration contient des erreurs, mais que la join s'est exécutée

De même, une fois que la commande remove est exécutée, les valeurs de port attribuées par le membre sont libérées afin d'être réutilisées.

Si l'intégralité du répertoire utilisateur wlp/usr sur le membre hôte a été supprimée, vous devrez peut-être utiliser un client tel que JConsole pour supprimer les références au serveur membre depuis la collectivité.

Procédure

  1. Arrêtez le serveur membre ou retirez les éléments relatifs à la collectivité de la configuration de serveur membre.
    Pour arrêter le serveur membre, exécutez la commande serveur stop en ligne de commande :
    wlp/bin/server stop memberServerName
    Si vous voulez que le serveur membre continue de s'exécuter, retirez les éléments suivants dans le fichier server.xml du serveur membre :
    <featureManager>
       <feature>collectiveController-1.0</feature>
       <feature>collectiveMember-1.0</feature>
    </featureManager>
    <collectiveMember ... />
    <hostAuthInfo ... />
  2. Utilisez une ligne de commande pour retirer un serveur membre.
    1. Exécutez la commande collectivité remove à partir d'une ligne de commande.
      wlp/bin/collective remove memberServerName --host=collectiveControllerHost --port=collectiveControllerHTTPSPort --user=collectiveControllerAdminUserID --password=collectiveControllerAdminUserPassword

      [18.0.0.1 and later]Pour réduire le nombre d'options nécessaires, utilisez l'option --controller au lieu de --user, --password, --host et --port :

      wlp/bin/collective remove memberServerName --controller=collectiveControllerAdminUserID:collectiveControllerAdminUserPassword@collectiveControllerHost:collectiveControllerHTTPSPort

      Par exemple, pour un contrôleur de collectivité sur l'hôte machineA qui utilise le port 1090 et comporte un administrateur de contrôleur de collectivité Admin1 avec le mot de passe Admin1pwd et le serveur membre member1, exécutez la commande suivante pour retirer le serveur membre :

      wlp/bin/collective remove member1 --host=machineA --port=1090 --user=Admin1 --password=Admin1pwd

      [18.0.0.1 and later]Pour réduire le nombre d'options nécessaires, utilisez l'option --controller au lieu de --user, --password, --host et --port :

      wlp/bin/collective remove member1 --controller=Admin1:Admin1pwd@machineA:1090

      Cet exemple inclut les paramètres obligatoires pour la commande remove :

      --host=collectiveControllerHost
      Le paramètre host indique le nom de l'hôte sur lequel réside le serveur du contrôleur de collectivité. La variable defaultHostName dans le fichier server.xml du serveur de contrôleur de collectivité définit le nom d'hôte.
      --port=collectiveControllerHTTPSPort
      Le paramètre port indique le numéro de port HTTPS du contrôleur de collectivité cible. La variable httpsPort dans le fichier server.xml du serveur de contrôleur de collectivité définit le numéro de port.
      --user=collectiveControllerAdminUserID
      Le paramètre user indique un administrateur du contrôleur de collectivité cible. Une variable userName dans le fichier server.xml du serveur de contrôleur de collectivité définit un nom d'utilisateur.
      --password=collectiveControllerAdminUserPassword
      Le paramètre password indique le mot de passe de l'administrateur pour le contrôleur de collectivité cible. Une variable userPassword dans le fichier server.xml du serveur de contrôleur de collectivité définit un mot de passe utilisateur. Si aucun mot de passe n'est défini, vous êtes invité à entrer le mot de passe de l'administrateur spécifié par le paramètre --user.
    2. Si vous êtes invité à accepter la chaîne de certificats, entrez y (oui).

      La commande remove supprime le répertoire wlp/usr/servers/member1/resources/collective. Le produit génère des messages semblables aux suivants :

      Server member1 successfully unregistered.
      
      Attempting to remove resources for the collective from the server...
      The resources for collective membership were successfully removed.
      
      Please update the server.xml and remove any of the following elements:
      
          <featureManager>
              <feature>collectiveController-1.0</feature>
              <feature>collectiveMember-1.0</feature>
          </featureManager>
          <collectiveMember ... />
          <hostAuthInfo ... />
    3. Si vous voulez conserver le serveur, suivez les instructions fournies dans les messages. Par exemple, retirez les éléments répertoriés dans les messages du fichier server.xml du serveur membre retiré.

      Si vous n'avez plus besoin du serveur, supprimez son répertoire. Par exemple, supprimez wlp/usr/servers/member1.

  3. Si l'intégralité du répertoire utilisateur wlp/usr a été supprimée sur l'hôte membre avant l'exécution de la commande remove, supprimez toutes les références au serveur membre retiré depuis la collectivité à l'aide de l'opération delete sur un client tel que JConsole.
    1. Connectez JConsole au processus du contrôleur de collectivité.
      1. Assurez-vous que le contrôleur de collectivité est en cours d'exécution.
        wlp/bin/server status collective_controller_name
      2. Démarrez JConsole s'il n'est pas déjà lancé. Sous Windows, exécutez Java_installation\bin\jconsole.exe.
      3. Sélectionnez le processus du contrôleur de collectivité.

      Pour utiliser le connecteur REST avec JConsole afin d'accéderr aux beans gérés à distance via une connexion HTTPS sous-jacente, voir Creating remote JMX connections in Liberty.

    2. Lancez l'opération CollectiveRepository getDescendantData dans JConsole afin de rechercher les références au serveur membre retiré.
      1. Sous l'onglet MBeans de JConsole, sélectionnez l'opération CollectiveRepository getDescendantData et indiquez le nom du noeud sur lequel réside la collectivité. Le nom de noeud ressemble à ceci : /sys.was.collectives/local/hosts/host_name ; par example, /sys.was.collectives/local/hosts/machineA.
      2. Recherchez les références au serveur membre retiré dans la liste de données. Si le nom du serveur membre retiré ne figure pas dans la liste de données, cela signifie que le serveur n'est plus membre de la collectivité. Le membre a bien été retiré de la collectivité.

        Toutefois, s'il existe des références au membre dans les données, passez à l'étape suivante. Vous devez lancer l'opération delete pour retirer le membre.

    3. Lancez l'opération CollectiveRepository delete dans JConsole afin de supprimer les références restantes au serveur membre retiré de la collectivité.
      1. Sous l'onglet MBeans dans JConsole, sélectionnez l'opération CollectiveRepository delete.
      2. Pour nodeName, indiquez le nom de noeud complet du serveur membre que vous voulez supprimer. L'opération supprime le noeud du serveur membre et sur tous les noeuds inférieurs.

        Le nom de noeud dans un processus local où le contrôleur de collectivité se trouve sur l'hôte machineA et où le chemin de membre était C:\wlp\usr\servers\member1 sous Windows ressemble à ceci :

        /sys.was.collectives/local/hosts/machineA/userdirs/C%3A%2Fwlp%2Fusr/servers/member1
      3. Cliquez sur delete.
    4. Pour vérifier que le serveur n'est plus membre de la collectivité, recommencez l'étape 2b. Lancez l'opération CollectiveRepository getDescendantData dans JConsole et recherchez les références au serveur membre retiré.

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : tagt_wlp_remove_member.html