Direkt zum Inhalt

Wie behebe ich clusterübergreifende Replikationsfehler auf meinem OpenSearch-Service-Cluster?

Lesedauer: 5 Minute
0

Die clusterübergreifende Replikation funktioniert auf meinem Amazon-OpenSearch-Service-Cluster nicht.

Lösung

Stelle sicher, dass du die Anforderungen an die Konfiguration und die Berechtigungen für die clusterübergreifende Verbindung erfüllst.

Hinweis: Du kannst die clusterübergreifende Replikation nicht mit Datenströmen verwenden. Weitere Informationen findest du unter Data streams (Datenströme) auf der OpenSearch-Website. Wenn du AWS PrivateLink verwendest, kannst du die clusterübergreifende Suche nicht in allen AWS-Regionen verwenden.

Überprüfen des Status der Replikationsaufgabe, um den Grund für das Fehlschlagen der Replikation zu ermitteln

Um den Status der Replikationsaufgabe zu überprüfen, führe den folgenden Befehl auf der Follower-Domain aus:

GET _plugins/_replication/index_name/_status

Hinweis: Ersetze index-name durch deinen Indexnamen.

Beispielausgabe:

{
  "status" : "PAUSED",
  "reason" : "Paused by AWS due to burstable instance type",
  "leader_alias" : "connection1",
  "leader_index" : "test-leader-index",
  "follower_index" : "test-follower-index"
}

Notiere dir in der Ausgabe den Wert für Grund um Maßnahmen zu identifizieren, die du zur Behebung des Replikationsfehlers ergreifen kannst. Um das Problem in der Beispielausgabe zu beheben, verwende beispielsweise einen Amazon Elastic Compute Cloud (Amazon EC2)-Instance-Typ, der nicht skalierbar ist.

Behebung von Fehlern bei der Auto-Follow-Funktion

Du kannst Auto-Follow-Replikationsregeln verwenden, um Indizes auf der Grundlage eines Musters zu replizieren. Regeln für die Auto-Follow-Funktion überprüfen die Leader-Domain regelmäßig auf neue Indizes, um automatisch die Indizes zu replizieren, die einem Muster entsprechen.

Den Grund überprüfen, warum Fehler bei der Auto-Follow-Funktion aufgetreten sind

Wenn du Fehlerprotokolle für die OpenSearch-Service-Domain aktiviert hast, suche nach den Schlüsselwörtern AutoFollowTask und IndexReplicationTask, um Fehler bei der Replikation der Auto-Follow-Funktion zu identifizieren. Weitere Informationen findest du unter OpenSearch-Service-Fehlerprotokolle anzeigen.

Um den Status der Replikationsregeln für die Auto-Follow-Funktion zu überprüfen, führe den folgenden Befehl auf der Follower-Domain aus:

GET _plugins/_replication/autofollow_stats

Überprüfe in der Ausgabe die failed_indices-Werte, um die fehlgeschlagenen Indizes zu identifizieren.

Beispielausgabe:

{  
  "num_success_start_replication" : 1,
  "num_failed_start_replication" : 0,
  "num_failed_leader_calls" : 0,
  "failed_indices" : [
    ".kibana_2",
    ".opendistro-reports-definitions",
    ".opendistro-reports-instances",
    ".kibana_3"
  ],
  "autofollow_stats" : [
    {
      "name" : "rule1",
      "pattern" : "*",
      "num_success_start_replication" : 1,
      "num_failed_start_replication" : 0,
      "num_failed_leader_calls" : 0,
      "failed_indices" : [
        ".kibana_2",
        ".opendistro-reports-definitions",
        ".opendistro-reports-instances",
        ".kibana_3"
      ],
      "last_execution_time" : 1679381247239
    }
  ]
}

Um weitere Informationen zu einem bestimmten Index zu erhalten, führe den folgenden Befehl auf der Follower-Domain aus:

GET _plugins/_replication/index_name/_status?pretty

Hinweis: Ersetze index_name durch deinen Indexnamen.

Um eine Liste der fehlgeschlagenen Indizes abzurufen, führe den folgenden Befehl auf der Follower-Domain aus:

GET _cluster/state?pretty&filter_path=metadata.replication_metadata

Suche in der Ausgabe nach Indizes, bei denen REPLICATION_LAST_KNOWN_OVERALL_STATE den Wert FEHLGESCHLAGEN hat.

Problembehandlung bei fehlgeschlagenen Indizes

Führe die folgenden Schritte aus:

  1. Um die Replikation auf dem ausgefallenen Index zu stoppen, führe den folgenden Befehl auf der Follower-Domain aus:
    POST _plugins/_replication/failed_index_name/_stop
    { }
    Hinweis: Ersetze failed_index_name durch den Namen des Indexes im Status FEHLGESCHLAGEN.
  2. Um den Index zu löschen, führe den folgenden Befehl auf der Follower-Domain aus:
    DELETE failed_index_name
    Hinweis: Ersetze failed_index_name durch den Namen des Indexes im Status FEHLGESCHLAGEN.
  3. Um die Regel für die Auto-Follow-Funktion zu löschen, führe den folgenden Befehl auf der Follower-Domain aus:
    DELETE _plugins/_replication/_autofollow
    {
        "leader_alias" : "connection_alias",
        "name": "rule_name"
    }
    Hinweis: Ersetze connection_alias durch deinen Verbindungsalias und rule_name durch den Namen der Regel für die Auto-Follow-Funktion. Um den Verbindungsalias zu finden, überprüfe die Registerkarte Verbindungen in deinem Domain-Dashboard.
  4. Um die Regel für die Auto-Follow-Funktion mit deinem Indexmuster neu zu erstellen, führe den folgenden Befehl auf der Follower-Domain aus:
    POST _plugins/_replication/_autofollow
    {
        "leader_alias": "connection_alias",
        "name": "rule_name",
        "pattern": "index_pattern",
        "use_roles": {
            "leader_cluster_role": "leaderclusterrole",
            "follower_cluster_role": "followerclusterrole"
        }
    }
    Hinweis: Ersetze connection_alias durch deinen Verbindungsalias, rule_name durch deinen Namen der Regel und index_pattern durch dein Indexmuster. Ersetze außerdem leader_cluster_role durch die Leader-Clusterrolle und follower_cluster_role durch die Follower-Clusterrolle.

Überprüfen der Replikationslatenz

Überprüfe die Amazon-CloudWatch-Metriken für die clusterübergreifende Replikation, um Verzögerungen bei der clusterübergreifenden Replikation zu ermitteln.

Suche nach einem hohen Speicherbedarf der Java Virtual Machine (JVM) für Leader- und Follower-Domains mit hoher Latenz und behebe ihn. Wenn der Domainstatus fehlerfrei ist, überprüfe die CloudWatch-Metriken LeaderCheckPoint und FollowerCheckPoint, um festzustellen, ob die Latenz zunimmt oder statisch ist. Wenn die Metriken LeaderCheckPoint und FollowerCheckPoint fehlerfrei sind, ist die IndexingRate möglicherweise zu hoch für die Follower-Domain. Stoppe die Replikation und starte sie neu, um schnellere Synchronisierungsphasen zu erzielen. Ein Anleitung dazu findest du unter Replikation anhalten und neu starten.

Prüfe, ob die Replikation stattfindet und ob Latenzzeiten auftreten. Wenn die Prüfpunkte von Leader und Follower identisch sind, ist die Replikation synchron.

Um den Indexreplikationsstatus für die Follower- und Leader-Domains zu überprüfen, führe die folgenden Befehle für die Follower- und Leader-Domain aus:

GET _plugins/_replication/follower_stats?pretty
GET _plugins/_replication/leader_stats?pretty

Um festzustellen, ob die Replikation abgeschlossen ist, führe den folgenden Befehl auf der Follower-Domain aus:

GET _cat/indices

Prüfe in der Ausgabe, ob die Liste der Indizes für Leader- und Follower-Shards identisch ist. Wenn nicht, ist die Replikation noch in Bearbeitung.

Die Replikation anhalten und neu starten

Du kannst die Replikation vorübergehend anhalten, um Probleme zu beheben, die Last auf der Leader-Domain zu reduzieren oder die Leader-Domain zu aktualisieren.

Um die Replikation anzuhalten, führe den folgenden Befehl auf der Follower-Domain aus:

POST _plugins/_replication/index_name/_pause
{ }

Hinweis: Ersetze index_name durch deinen Indexnamen.

Um die Replikation neu zu starten, führe den folgenden Befehl auf der Follower-Domain aus:

POST _plugins/_replication/index_name/_resume
{ }

Hinweis: Ersetze index_name durch deinen Indexnamen.

Du kannst die Replikation nicht fortsetzen, nachdem sie für mehr als 12 Stunden unterbrochen wurde. In diesem Szenario musst du die Replikation stoppen, den Follower-Index löschen und die Replikation des Leaders neu starten.

Wichtig: Wenn du die Replikation stoppst, folgt der Follower-Index nicht mehr dem Leader und wird zu einem Standardindex. Du kannst die Replikation nicht erneut starten, nachdem du sie gestoppt hast.

Um die Replikation zu beenden, führe den folgenden Befehl auf der Follower-Domain aus:

POST _plugins/_replication/index_name/_stop
{ }

Hinweis: Ersetze index_name durch deinen Indexnamen.

Ähnliche Informationen

Clusterübergreifende Replikation für OpenSearch Service

Die Verfügbarkeit deiner Daten mithilfe der clusterübergreifenden Replikation mit OpenSearch Service sicherstellen

AWS OFFICIALAktualisiert vor 3 Monaten