Perché il parametro Documenti eliminati è così alto nel mio cluster servizio OpenSearch di Amazon?

5 minuti di lettura
0

Ho eliminato i documenti nel mio cluster servizio OpenSearch di Amazon, ma non è stato recuperato spazio su disco.

Breve descrizione

In servizio OpenSearch, il parametro DeletedDocuments (documenti cancellati) è un contatore che mostra il numero di documenti contrassegnati per l'eliminazione. Il parametro DeletedDocuments (documenti cancellati) mostra un aumento dopo l'elaborazione delle richieste di eliminazione e diminuisce dopo la fusione dei segmenti dell'indice all'interno del cluster.

Il servizio OpenSearch esegue automaticamente l'operazione di Merge Api (unione di API) utilizzando l'impostazione del criterio di unione. Durante un’unione, i segmenti più piccoli vengono uniti in segmenti più grandi per mantenere la dimensione dell'indice. Anche i documenti contrassegnati per l'eliminazione vengono eliminati per liberare spazio su disco aggiuntivo.

Per recuperare immediatamente spazio su disco, è possibile eliminare un indice anziché eliminare singoli documenti. In alternativa, è possibile anche utilizzare l'API force merge insieme al parametro only_expunge_deletes per cancellare i documenti eliminati all'interno di un indice.

Per mantenere i metadati dell'indice mentre si recupera spazio su disco nel cluster, prendere in considerazione i seguenti approcci:

Risoluzione

Controllare il numero di documenti eliminati

Per controllare il numero di documenti eliminati nel cluster OpenSearch Service, eseguire l'API statistiche cluster. Il valore ottenuto dalla chiamata API delle statistiche del cluster viene visualizzato nel parametro di riferimento DeletedDocuments per il cluster. L'output restituisce una somma dei documenti eliminati per tutti gli indici presenti nel cluster. Questo conteggio può essere controllato utilizzando il campo "docs.deleted" (documenti cancellati) nell'output della risposta.

Ad esempio, se il cluster ha tre indici (index1, index2 e index3), quindi eseguire la chiamata index stats API:

GET index1/_stats
...
"docs": {
     "count": 100,
     "deleted": 1
}
... 
GET index2/_stats
...
"docs": {
     "count": 100,
     "deleted": 5
}
...
GET index3/_stats
...
"docs": {
     "count": 100,
     "deleted": 8
}
...

La chiamata API cluster stats aggiunge quindi il campo "docs.deleted" (documenti cancellati) per tutti gli indici presenti nel cluster:

...
"docs": {
     "count": 1227677521,
     "deleted": 14
}
...

Eliminando index2, la chiamata API cluster stats calcola esclusivamente i valori per index1 e index3:

GET _cluster/stats
...
"docs": {
     "count": 1227677521,
     "deleted": 9
}

I segmenti vengono ora uniti e i metadati dell'indice per index2 vengono cancellati. Di conseguenza, il valore del parametro di riferimento DeletedDocuments è diminuito a 9.

Confermare le dimensioni dei propri documenti

Per controllare le dimensioni del documento e il conteggio di un indice, utilizzare l'API degli indici cat. Assicurarsi che il nuovo documento abbia le stesse dimensioni del documento esistente nel cluster di OpenSearch Service. L'utilizzo delle stesse dimensioni del documento garantisce che i documenti eliminati non occupino spazio aggiuntivo su disco.

Cancellare i documenti eliminati

Per recuperare manualmente spazio su disco, esegui l'API force merge insieme al parametro only_expunge_deletes impostato su "true":

POST /<index-name>/_forcemerge?only_expunge_deletes=true

Nota: questa operazione eliminerà esclusivamente i segmenti contenenti documenti contrassegnati per l'eliminazione.

Di conseguenza, l'unione forzata riduce la quantità di spazio su disco utilizzato. Dopo la creazione dei nuovi segmenti, i vecchi segmenti vengono rimossi e i nuovi segmenti non contengono più i documenti contrassegnati per l'eliminazione. Per ulteriori informazioni sui documenti eliminati, vedere Gestione dei documenti eliminati da Lucene sul sito web di Elasticsearch.

Tuttavia, tenere presente quanto segue durante l’esecuzione dell'operazione di unione forzata:

  • Eseguire l'unione forzata sul cluster solo quando lo spazio di archiviazione disponibile è sufficiente. Questa azione è un'operazione che richiede molte risorse.
  • L'operazione di unione forzata attiva un processo ad alta intensità di I/O e blocca tutte le nuove richieste al cluster fino al completamento dell'unione.
  • Richiamare l'operazione di unione forzata solo su gli indici di sola lettura, quando non vengono scritti dati aggiuntivi sull'indice. La chiamata unione forzata contro un indice di lettura/scrittura può causare la produzione di segmenti molto grandi (>5 GB per segmento). Quando ciò accade, il criterio di unione automatica non prende in considerazione questi segmenti molto grandi per le unioni future fino a quando i segmenti non contengono principalmente documenti eliminati. Di conseguenza, l'utilizzo del disco aumenta e le prestazioni di ricerca peggiorano.

È inoltre possibile utilizzare l'API di eliminazione tramite query o l'API di eliminazione per eliminare manualmente qualsiasi documento nel cluster.

Recupero immediato dello spazio su disco

Per recuperare immediatamente spazio su disco, utilizzare l'API di eliminazione dell'indice. L'eliminazione di un indice non crea alcun indicatore di eliminazione. Al contrario, l'API di eliminazione dell'indice cancella i metadati dell'indice e lo spazio su disco viene immediatamente recuperato. Lo spazio su disco recuperato si riflette nel parametro di riferimento DeletedDocuments.

Nota: è consigliabile eliminare i vecchi indici che non vengono utilizzati. Se viene eliminato un indice attivo, assicurati di bloccare la creazione automatica degli indici. Per ulteriori informazioni, consulta Automatically create data streams and indices(Creazione automatica di flussi di dati e indici) sul sito Web di Elasticsearch.


Informazioni correlate

Se ho poco spazio di archiviazione nel dominio del servizio OpenSearch di Amazon, come posso risolvere il problema?

Monitoraggio dei parametri del cluster di OpenSearch con Amazon CloudWatch

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa