Salta al contenuto

Come posso risolvere gli errori di replica tra cluster nel mio cluster del Servizio OpenSearch?

6 minuti di lettura
0

Nel mio cluster del Servizio OpenSearch di Amazon la replica tra cluster non funziona.

Risoluzione

Assicurati di rispettare i requisiti di configurazione e autorizzazioni della connessione tra cluster.

Nota: non puoi utilizzare la replica tra cluster con flussi di dati. Per ulteriori informazioni, consulta Data streams (Flussi di dati) sul sito web OpenSearch. Se utilizzi AWS PrivateLink, non puoi utilizzare la ricerca tra cluster nelle Regioni AWS.

Controlla lo stato dell'attività di replica per identificare il motivo per cui la replica non è riuscita

Per verificare lo stato dell'attività di replica, esegui questo comando sul dominio follower:

GET _plugins/_replication/index_name/_status

Nota: sostituisci index-name con il nome del tuo indice.

Esempio di output:

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

Nell'output, annota il valore del motivo per identificare le azioni che puoi intraprendere per risolvere l'errore di replica. Ad esempio, per risolvere il problema nell'output di esempio, utilizza un tipo di istanza Amazon Elastic Compute Cloud (Amazon EC2) non espandibile.

Risolvi gli errori di auto-follow

Puoi utilizzare le regole di replica auto-follow per replicare gli indici in base a uno schema. Le regole di auto-follow controllano periodicamente la presenza di nuovi indici nel dominio leader per replicare automaticamente gli indici che corrispondono a uno schema.

Verifica il motivo per cui si sono verificati errori di auto-follow

Se hai attivato i log degli errori per il dominio del Servizio OpenSearch, cerca le parole chiave AutoFollowTask e IndexReplicationTask per identificare gli errori di replica auto-follow. Per ulteriori informazioni, consulta Viewing Amazon OpenSearch Service Error Logs (Visualizzazione dei log degli errori del Servizio OpenSearch).

Per verificare lo stato delle regole di replica auto-follow, esegui questo comando sul dominio follower:

GET _plugins/_replication/autofollow_stats

Nell'output, controlla i valori failed_indices per identificare gli indici che hanno avuto esito negativo.

Esempio di output:

{  
  "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
    }
  ]
}

Per ottenere ulteriori informazioni su un indice specifico, esegui questo comando sul dominio follower:

GET _plugins/_replication/index_name/_status?pretty

Nota: sostituisci index_name con il nome del tuo indice.

Per ottenere un elenco degli indici che hanno avuto esito negativo, esegui questo comando sul dominio follower:

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

Nell'output, controlla gli indici in cui REPLICATION_LAST_KNOWN_OVERALL_STATE è FAILED.

Risolvi i problemi relativi agli indici che hanno avuto esito negativo

Completa i seguenti passaggi:

  1. Per interrompere la replica sull'indice che ha avuto esito negativo, esegui questo comando sul dominio follower:
    POST _plugins/_replication/failed_index_name/_stop
    { }
    Nota: sostituisci failed_index_name con il nome dell'indice nello stato FAILED.
  2. Per eliminare l'indice, esegui questo comando sul dominio follower:
    DELETE failed_index_name
    Nota: sostituisci failed_index_name con il nome dell'indice nello stato FAILED.
  3. Per eliminare la regola di auto-follow, esegui questo comando sul dominio follower:
    DELETE _plugins/_replication/_autofollow
    {
        "leader_alias" : "connection_alias",
        "name": "rule_name"
    }
    Nota: sostituisci connection_alias con il tuo alias di connessione e rule_name con il nome della regola di auto-follow. Per trovare l'alias di connessione, controlla la scheda Connections (Connessioni) della dashboard del dominio.
  4. Per ricreare la regola di auto-follow con il modello di indice, esegui questo comando sul dominio follower:
    POST _plugins/_replication/_autofollow
    {
        "leader_alias": "connection_alias",
        "name": "rule_name",
        "pattern": "index_pattern",
        "use_roles": {
            "leader_cluster_role": "leaderclusterrole",
            "follower_cluster_role": "followerclusterrole"
        }
    }
    Nota: sostituisci connection_alias con il tuo alias di connessione, rule_name con il nome della tua regola e index_pattern con il modello del tuo indice. Inoltre, sostituisci leader_cluster_role con il ruolo del cluster leader e follower_cluster_role con il ruolo del cluster follower.

Verifica la latenza di replica

Controlla le metriche di replica tra cluster di Amazon CloudWatch per identificare il ritardo di replica tra cluster.

Verifica e risolvi i problemi relativi all'elevata pressione della memoria di Java Virtual Machine (JVM) per i domini leader e follower con latenza elevata. Se lo stato del dominio è integro, controlla le metriche LeaderCheckPoint e FollowerCheckPoint in CloudWatch per determinare se la latenza è crescente o statica. Se le metriche LeaderCheckPoint e FollowerCheckPoint sono integre, il valore IndexingRate potrebbe essere troppo elevato per il dominio follower. Per velocizzare le fasi di sincronizzazione, interrompi e riavvia la replica. Per istruzioni, vai alla sezione Sospendi e riavvia la replica.

Verifica che la replica sia in corso e controlla la latenza. Se i checkpoint del leader e del follower sono gli stessi, la replica è sincronizzata.

Per verificare lo stato di replica dell'indice per i domini follower e leader, esegui questi comandi sul dominio follower e leader:

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

Per verificare se la replica è completa, esegui questo comando sul dominio follower:

GET _cat/indices

Nell'output, controlla se l'elenco degli indici è lo stesso per gli shard del leader e del follower. In caso contrario, la replica è ancora in corso.

Sospendi e riavvia la replica

Puoi sospendere temporaneamente la replica per risolvere i problemi, ridurre il carico sul dominio leader o aggiornarlo.

Per sospendere la replica, esegui questo comando sul dominio follower:

POST _plugins/_replication/index_name/_pause
{ }

Nota: sostituisci index_name con il nome del tuo indice.

Per riavviare la replica, esegui questo comando sul dominio follower:

POST _plugins/_replication/index_name/_resume
{ }

Nota: sostituisci index_name con il nome del tuo indice.

Non puoi riprendere la replica dopo che è stata messa in pausa per più di 12 ore. In questo caso, devi interrompere la replica, eliminare l'indice del follower e riavviare la replica del leader.

Importante: quando interrompi la replica, l'indice del follower smette di seguire il leader e diventa un indice standard. Non puoi riavviare la replica dopo averla interrotta.

Per interrompere la replica, esegui questo comando sul dominio follower:

POST _plugins/_replication/index_name/_stop
{ }

Nota: sostituisci index_name con il nome del tuo indice.

Informazioni correlate

Replica tra cluster per il Servizio OpenSearch

Ensure availability of your data using cross-cluster replication with Amazon OpenSearch Service (Garantisci la disponibilità dei dati utilizzando la replica tra cluster con il Servizio OpenSearch)

AWS UFFICIALEAggiornata un anno fa