Automatisch skalierbare Cluster für JVM-Elastizität konfigurieren

Sie können einen Verbund so konfigurieren, dass er die JVM-Elastizität unterstützt. Mit JVM-Elastizität kann der Skalierungscontroller Liberty-Server ausgehend von der Ressourcennutzung und von Skalierungsrichtlinien starten oder stoppen. Nur die bereits zum Verbund gehörenden Server kommen für die Skalierung infrage. Es werden keine neuen Server bereitgestellt.

Vorbereitende Schritte

Welche Arten von Ressourcennutzungsinformationen gesammelt werden, richtet sich nach dem jeweiligen JDK. IBM JDK 1.7 für Windows- und Linux-Betriebssysteme stellt alle erforderlichen Nutzungsinformationen für die automatische Skalierung bereit und ist das bevorzugte JDK. Andere JDKs stellen möglicherweise nicht alle erforderlichen Informationen zur Ressourcennutzung für jede einzelne JVM bereit.
Fehler vermeiden: Die Administrationskonsole lässt den Start und das Stoppen eines Liberty-Servers, der ein Cluster-Member eines automatisch skalierbaren Clusters ist, nur dann zu, wenn sich der Server im Wartungsmodus befindet. Das Starten und Stoppen eines Liberty-Servers, der ein Cluster-Member eines automatisch skalierbaren Clusters ist, kann zu unvorhersehbaren Ergebnissen führen.

Vorgehensweise

  1. Erstellen Sie einen Verbund.

    Einzelheiten zur Erstellung eines Verbundcontrollers und eines Member-Servers finden Sie unter Liberty-Verbund konfigurieren.

    Anmerkung: Bevor Sie fortfahren, sollten Sie Schritt eins ausführen. In Schritt eins finden Sie die Anweisungen für das Erstellen des Verbunds, das Hinzufügen von Membern sowie das Starten der Controller und Member.
  2. Fügen Sie das Feature scalingController-1.0 zur Datei server.xml mindestens eines Verbundcontrollers hinzu. Wenn Sie die Datei server.xml speichern, werden Standardrichtlinien umgesetzt, sofern nichts anderes angegeben ist.
    <featureManager>  <feature>jsp-2.2</feature>
     <feature>collectiveController-1.0</feature>
     <feature>scalingController-1.0</feature>
    </featureManager>

    Nach dem Hinzufügen des Features werden in der Datei messages.log des Verbundcontrollers die folgenden Nachrichten in beliebiger Reihenfolge angezeigt, sofern der Verbundcontroller aktiv ist:

    CWWKV0300I: Der StackManager-Service wurde gestartet.
    CWWKV0302I: Die folgenden Stacks sind vorhanden: []
    CWWKV0100I: Das Feature ScalingController ist aktiviert.
    CWWKX1002I: Der Singleton-Service ScalingControllerSingletonService für den Geltungsbereich [] wurde erstellt.
    CWWKV0102I: Dieser Server wurde als primärer Skalierungscontroller ausgewählt.
    CWWKF0012I: Im Server wurden die folgenden Features installiert: [scalingController-1.0].
    Anmerkung: Da die Liberty-Konfiguration dynamisch ist, tritt beim Hinzufügen des Skalierungscontrollers dessen Standardskalierungsrichtlinie in Kraft, sodass es zu unerwarteten Ergebnissen kommen kann. In der Standardrichtlinie ist beispielsweise ein Minimum von zwei Servern angegeben. Wenn Sie also die Datei server.xml des Skalierungscontrollers speichern, versucht der Controller, zwei Server zu starten. Wenn dieses Verhalten nicht erwünscht ist, können Sie gleich eine Richtlinie für den Controller definieren.
    Anmerkung: Es kann einige Zeit dauern, bis der Skalierungscontroller das Member registriert hat und die Nachricht CWWKV0121I anzeigt.
  3. Optional: Ändern Sie den Standardwert für die Skalierungsrichtlinien entsprechend den Anforderungen Ihrer Umgebung. Weitere Informationen finden Sie unter Skalierungsrichtlinien zur Verwaltung der Workload definieren.
  4. Fügen Sie das Feature scalingMember-1.0 allen Verbundmembern hinzu, die vom Skalierungscontroller gesteuert werden sollen. Definieren Sie ein Element hostSingleton mit einem Port in der Datei server.xml der Member. In der Datei server.xml jedes Skalierungsmembers muss ein Element hostSingleton mit einem Port definiert sein. Alle Skalierungsmember eines Hosts müssen denselben Port verwenden. Sie können eine beliebige Portnummer angeben, die jedoch auf dem Host eindeutig sein muss. Im folgenden Beispiel wird die Portnummer 20020 verwendet:
    <featureManager>  <feature>jsp-2.2</feature>
     <feature>scalingMember-1.0</feature>
    </featureManager> 
    
    <hostSingleton name="ScalingMemberSingletonService" port="20020 " />

    Wenn der Server nach dem Hinzufügen der Features und des Elements hostSingleton nicht gestartet wird, müssen Sie ihn einmal manuell starten, damit der Skalierungscontroller die hinzugefügten Features erkennt. In der Datei messages.log des Verbundmembers werden die folgenden Nachrichten in beliebiger Reihenfolge angezeigt:

    CWWKX1000I: Die MBean SingletonMessenger ist verfügbar.
    CWWKX7400I: Die MBean ClusterMember ist verfügbar.
    CWWKX1002I: Der Singleton-Service ScalingMemberSingletonService für den Geltungsbereich Host wurde erstellt.
    CWWKV0200I: Das Feature ScalingMember ist aktiviert.
    CWWKX1004I: Die Messenger-Verbindung zum Host Controllerhostname an Port Controllerportnummer wurde hergestellt.

    Mit dem Skalierungscontroller kommuniziert nur ein Skalierungsmember pro Host. Das erste Skalierungsmember, das eine Verbindung zum ScalingMemberSingletonService herstellt, wird zum Host-Leader bestimmt. Wenn der Host-Leader gestoppt wird, wird vom scalingMemberSingletonService in einem Auswahlprozess entschieden, welches andere Skalierungsmember die Aufgaben des Host-Leaders übernimmt. Alle Skalierungsmember eines Hosts und eines Clusters müssen denselben ScalingMemberSingletonService-Port verwenden.

    Anmerkung: Wenn ein Skalierungsmember zum Host-Leader bestimmt wurde, sehen Sie in der Datei messages.log des Verbundmembers die folgende Nachricht:
    CWWKV0203I: Der Server host=Hostname; userdir=Pfad_zum_Benutzerverzeichnis; server=Membername; port=Memberportnummer; service=ScalingMemberSingletonService; scope=host wurde als Host-Leader ausgewählt. 
    Anmerkung: Wenn Sie das Element hostSingleton nicht zur Datei server.xml des Skalierungsmembers hinzufügen oder für jedes Skalierungsmember einen anderen Port verwenden, könnten mehrere Host-Leader gewählt werden. Dies kann zu falschen Skalierungsentscheidungen führen. Die folgende Nachricht wird in der Datei messages.log des Controllers angezeigt:
    CWWKV0123E: Es wurden doppelte Host-Singleton-Leader auf dem Host Hostname erkannt. Dies kann zur Beeinträchtigung der Entscheidungen des Skalierungscontrollers
    führen. Die Leader-ID von Server Servername1 ist Leader-ID1. Die Leader-ID von Server Servername2 ist Leader-ID2. 

    Weitere Informationen zum Element hostSingleton finden Sie unter Collective Member.

    Multimedia Video: Im Video Configuring a Liberty auto-scalable cluster for JVM elasticity werden die Schritte veranschaulicht. [Transkript]


Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_wve_configjvmelast.html