Automatische gemeinsame Nutzung einer Konfiguration durch Replikate

Sie können in einer Replikatgruppe eine Verbundcontroller-Include-Datei server.xml konfigurieren und automatisch die Konfiguration der übrigen Replikate in der Gruppe aktualisieren. Die automatische gemeinsame Nutzung einer Konfiguration bedeutet, dass die Konfiguration der anderen Replikate nicht manuell aktualisiert werden muss. Die automatische gemeinsame Nutzung einer Konfiguration ist besonders nützlich für Verbünde mit automatischer Skalierung.

Vorbereitende Schritte

Erstellen Sie eine Replikatgruppe. Weitere Informationen hierzu finden Sie im Abschnitt Liberty-Verbundreplikatgruppen konfigurieren. Dieser Abschnitt enthält ein Beispiel für das Erstellen einer Replikatgruppe, die aus drei Verbundcontrollern in einem Host besteht (Beispiel: Replikatgruppe erstellen und aktivieren).

Informationen zu diesem Vorgang

Sie können die Include-Datei für eine Controllerkonfiguration im Verzeichnis configDropins/defaults des jeweiligen Controllers ablegen, um die Konfiguration von Replikaten automatisch zu aktualisieren. Alternativ können Sie ControllerConfigMBean-Operationen verwenden, um die gemeinsam genutzten Konfigurationsdateien eines Verbundcontrollers aufzulisten, hinzuzufügen oder zu entfernen.

Vorgehensweise

  1. Erstellen Sie für den Controller, dessen Konfiguration auch von den Replikaten verwendet werden soll, ein Verzeichnis configDropins.

    Wenn es für den Controller der Replikatgruppe noch kein Verzeichnis configDropins/defaults gibt, erstellen Sie das Verzeichnis $WLP_USER_DIR/servers/Servername/configDropins/defaults für den Controller.

    Anmerkung: Informationen zur Rangfolge der Dateien in Unterverzeichnissen von configDropins finden Sie unter Ordner 'dropins' für Serverkonfiguration angeben. In dem Abschnitt wird sowohl das Verzeichnis configDropins/defaults als auch ein Verzeichnis configDropins/overrides erwähnt. In einem Verzeichnis configDropins/overrides abgelegte Controllerkonfigurationen werden nicht von Replikaten gemeinsam genutzt. Wenn Replikate eine Konfiguration gemeinsam nutzen sollen, müssen Sie das Verzeichnis configDropins/defaults verwenden.
  2. Geben Sie die Controllerkonfiguration für andere Replikate der Replikatgruppe frei.
    • Legen Sie die Konfiguration des Replikatgruppencontrollers im Verzeichnis configDropins/defaults des Controllers ab.

      Kopieren Sie beispielsweise die Include-Datei server.xml des Controllers in das Verzeichnis configDropins/defaults des Controllers.

    • Verwenden Sie ControllerConfigMBean-Operationen, um die gemeinsam genutzten Konfigurationsdateien eines Verbundcontrollers aufzulisten, hinzuzufügen oder zu entfernen.

      Konfigurationsdateien werden im Verzeichnis $WLP_USER_DIR/servers/Servername/configDropins/defaults der Controller gespeichert und zusammen mit dem Verzeichnis configDropins/defaults der Replikate gemeinsam genutzt.

      Verwenden Sie Jython-Scripts oder einen Java-Client wie JConsole, um die folgenden ControllerConfigMBean-Operationen für Verbundcontroller auszuführen:

      listSharedConfig
      Die Operation listSharedConfig listet die Dateien im gemeinsam genutzten Konfigurationsverzeichnis des Replikats auf.
      addSharedConfig
      Die Operation addSharedConfig fügt eine Konfiguration zu einer Datei hinzu und speichert die Datei im Verzeichnis configDropins/defaults jedes Replikats. Für die Operation müssen Sie die beiden folgenden Parameter angegeben:
      fileName
      Dies ist der Dateiname der Controllerkonfiguration, die gemeinsam genutzt werden soll. Wenn Sie den Namen einer Datei angeben, die im gemeinsam genutzten Konfigurationsverzeichnis vorhanden ist, wird die vorhandene Datei überschrieben. (String)
      config
      Dies ist der Inhalt einer gültigen Include-Datei server.xml. (String)
      Beispiel:
      <?xml version="1.0" encoding="UTF-8" ?>
      <server>
        <logging traceSpecification="com.ibm.ws.collective.repository.internal.SharedConfigManager=all"/>
      </server>
      removeSharedConfig
      Die Operation removeSharedConfig entfernt eine Datei aus dem Verzeichnis configDropins/defaults jedes Replikats. Für die Operation müssen Sie den folgenden Parameter angeben:
      fileName
      Dies ist der Dateiname der Controllerkonfiguration, die aus dem gemeinsam genutzten Konfigurationsverzeichnis jedes Replikats gelöscht werden soll. (String)

    Die Controllerkonfiguration wird automatisch mit den configDropins-Verzeichnissen jedes andren Replikats in der Replikatgruppe synchronisiert. Wenn Sie zu einem Controller ein Replikat hinzufügen, das automatisch die Konfiguration des Controllers mit nutzt, wird der Inhalt des Verzeichnisses configDropins/defaults des Controllers im neuen Replikat repliziert. Alle Änderungen, die Sie an Skalierungsrichtliniendefinitionen für einen Controller vornehmen, werden automatisch mit Konfigurationen in den configDropins-Verzeichnissen der anderen Replikate synchronisiert.

    Wenn die Controllerkonfiguration nicht automatisch mit der Konfiguration anderer Replikate synchronisiert wird, überprüfen Sie die Controller- und Replikatprotokolle. Wenn Sie das Verzeichnis configDropins/defaults für die gemeinsame Nutzung der Controllerkonfiguration verwendet haben, stellen Sie außerdem sicher, dass die Konfigurationsüberwachung eingeschaltet ist. Die Konfigurationsüberwachung ist standardmäßig aktiviert. Wenn die Konfigurationsüberwachung inaktiviert ist, können Sie den Controller mit der FileNotificationMBean über Konfigurationsänderungen informieren, die dann von den Replikaten gemeinsam genutzt werden. Mit ControllerConfigMBean-Operationen gespeicherte Konfigurationen werden unabhängig von der Aktivierung/Inaktivierung der Konfigurationsüberwachung automatisch von Replikaten gemeinsam genutzt. Weitere Informationen hierzu finden Sie unter Dynamische Aktualisierungen steuern.

Beispiel: JConsole für die gemeinsame Nutzung der Controllerkonfiguration durch Replikate verwenden

Im folgenden Beispiel ist beschrieben, wie Sie JConsole verwenden können, um die Include-Datei server.xml im Controllerverzeichnis configDropins/defaults mit allen Replikaten gemeinsam zu nutzen.

  1. Verbinden Sie JConsole mit dem Verbundcontrollerprozess.
    1. Stellen Sie sicher, dass der Verbundcontroller aktiv ist.
      wlp/bin/server status Name_des_Verbundcontrollers

      Es müssen keine Replikate aktiv sein. Nicht aktive Replikate führen beim Start eine Synchronisation mit der gemeinsam genutzten Konfiguration durch.

    2. Starten Sie JConsole, wenn sie noch nicht aktiv ist. Führen Sie unter Windows die Datei Java-Installation\bin\jconsole.exe aus.
    3. Wählen Sie den Prozess für den Verbundcontroller aus.

    Wenn Sie den REST-Connector mit JConsole verwenden möchten, um über eine zugrunde liegende HTTPS-Verbindung fern auf MBeans zugreifen zu können, lesen Sie die Informationen unter Creating remote JMX connections in Liberty.

  2. Führen Sie die ControllerConfigMBean-Operation addSharedConfig in JConsole aus, um die Controller-Include-Datei server.xml zum Verzeichnis configDropins/defaults jedes Replikats hinzuzufügen.
    1. Wählen Sie auf der JConsole-Registerkarte MBeans die ControllerConfigMBean-Operation addSharedConfig aus.
    2. Geben Sie für fileName den Pfad der Include-Datei server.xml an, z. B.
      $WLP_USER_DIR/servers/Name_des_Verbundcontrollers/trace.xml
    3. Geben Sie für config die hinzuzufügende Konfiguration an. z. B.
      <?xml version="1.0" encoding="UTF-8" ?>
      <server>
        <logging traceSpecification="com.ibm.ws.collective.repository.internal.SharedConfigManager=all"/>
      </server>
    4. Klicken Sie auf addSharedConfig, um die Operation auszuführen.
  3. Vergewissern Sie sich, dass die Controllerkonfiguration nach der Operation erfolgreich gemeinsam von den Replikaten genutzt wird.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: tagt_wlp_configure_replicas_share.html