Χρησιμοποιώντας το πλαίσιο κεφαλής elasticsearch για σύνδεση στο Elasticsearch(ES) βρήκα το ακόλουθο σφάλμα:
Cluster Health: κόκκινο (24 από 31)
Για να δείτε πληροφορίες κατάστασης, επισκεφθείτε τη διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
{ "cluster_name" : "elasticsearch", "status" : "κόκκινο", "timed_out" : ψευδής, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 24, "active_shards" : 24, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 7, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 77.41935483870968
} "status" : "κόκκινο"Η κατάσταση είναι Κενή
Το πρόσθετο κεφαλής θα εμφανίζεται σε διαφορετικά χρώματα
1) Πράσινο - η πιο υγιής κατάσταση, που σημαίνει ότι όλα τα πρωτογενή και αντίγραφα θραύσματα είναι διαθέσιμα. 2) Κίτρινο - όλα τα κύρια θραύσματα είναι διαθέσιμα, αλλά ορισμένα θραύσματα ρεπλίκα δεν είναι διαθέσιμα. 3) Κόκκινο - Ορισμένα κύρια θραύσματα δεν είναι διαθέσιμα. (Προς το παρόν, ορισμένα δεδομένα εξακολουθούν να βρίσκονται κατά την εκτέλεση του ερωτήματος, επομένως είναι καλύτερο να το λύσετε γρήγορα.) )
Για να δείτε την κατάσταση του ευρετηρίου, αποκτήστε πρόσβαση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
.monitoring-es-6-22.01.2021 0 p ΜΗ ΕΚΧΩΡΗΜΕΝΟ ALLOCATION_FAILED Τι είναι ο μη εκχωρημένος διαμοιρασμός;
Επεξήγηση με μία πρόταση: Αδιάθετα θραύσματα. Κατά την εκκίνηση του ES, θα διαπιστώσετε ότι τα θραύσματα του συμπλέγματος θα εμφανίζονται μωβ, γκρι και τελικά πράσινα μετά από συνεχή ανανέωση μέσω της προσθήκης Head.
Γιατί συμβαίνει ο μη εκχωρημένος διαμοιρασμός;
Εάν δεν μπορείτε να εκχωρήσετε shards, για παράδειγμα, έχετε υπερεκχωρήσει τον αριθμό των replica shards για τον αριθμό των κόμβων στο σύμπλεγμα, τα shards παραμένουν UNASSIGNED. Ο κωδικός σφάλματος είναι: ALLOCATION_FAILED.
Πιθανές αιτίες προβλημάτων διαμοιρασμού που δεν έχουν εκχωρηθεί;
1) INDEX_CREATED: Δεν εκχωρήθηκε λόγω του API που δημιούργησε το ευρετήριο. 2) CLUSTER_RECOVERED: Δεν έχει εκχωρηθεί λόγω πλήρους ανάκτησης συμπλέγματος. 3) INDEX_REOPENED: Δεν εκχωρείται λόγω ανοίγματος ή κλεισίματος δείκτη. 4) DANGLING_INDEX_IMPORTED: Δεν εκχωρείται λόγω του αποτελέσματος της εισαγωγής του κρεμαστού δείκτη. 5) NEW_INDEX_RESTORED: Δεν εκχωρείται λόγω επαναφοράς σε νέο ευρετήριο. 6) EXISTING_INDEX_RESTORED: Δεν εκχωρείται λόγω επαναφοράς σε κλειστό δείκτη. 7) REPLICA_ADDED: Δεν εκχωρείται λόγω ρητής προσθήκης θραυσμάτων ρεπλίκα. 8) ALLOCATION_FAILED: Δεν εκχωρήθηκε λόγω αποτυχίας κατανομής θραυσμάτων. 9) NODE_LEFT: Ο κόμβος που φέρει το θραύσμα φεύγει από το σύμπλεγμα και δεν εκχωρείται. 10) ΕΠΑΝΑΡΧΙΚΟΠΟΙΗΣΗ: Λόγω μη εκχωρημένων θραυσμάτων κατά τη μετάβαση από την έναρξη στην προετοιμασία (π.χ. διαμοιρασμός με σκιώδη αντίγραφα σκιών). 11) REROUTE_CANCELLED: Deallocate ως αποτέλεσμα μιας ρητής εντολής unresail. 12) REALLOCATED_REPLICA: Προσδιορίστε ότι μια καλύτερη θέση αντιγράφου έχει βαθμονομηθεί για χρήση, με αποτέλεσμα την ακύρωση της υπάρχουσας εκχώρησης αντιγράφων και την κατάργηση της εκχώρησης.
Συνδεθείτε στον διακομιστή και προβάλετε τα αρχεία καταγραφής Elasticsearch (ES) ως εξής:
Το Elasticsearch εξάγει πολλά αρχεία καταγραφής, όλα στον κατάλογο ES_HOME/logs. Το προεπιλεγμένο επίπεδο καταγραφής είναι ΠΛΗΡΟΦΟΡΙΕΣ. Παρέχει μέτριες πληροφορίες, αλλά έχει σχεδιαστεί για να μην κατακλύζει τα αρχεία καταγραφής σας. Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Υπάρχει ένας μεγάλος αριθμός σφαλμάτων όπως:
[2021-01-21T03:33:26,435] [ΠΡΟΕΙΔΟΠΟΙΩ ] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] απροσδόκητο σφάλμα κατά την ευρετηρίαση του εγγράφου παρακολούθησης
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] στο org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?] στο java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222] στο java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222] στο java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] στο java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] στο java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222] στο java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222] στο java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222] στο java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222] στο java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222] στο org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] στο org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?] στο org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2] στο org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?] στο org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2] στο java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222] στο java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222] στο java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Προκαλείται από: org.elasticsearch.cluster.block.ClusterBlockException: αποκλείστηκε από: [FORBIDDEN/12/index μόνο για ανάγνωση / να επιτρέπεται η διαγραφή (api)]; στο org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... 21 περισσότερα
Μετά από ανάλυση, διαπιστώθηκε ότι οφειλόταν στο γεγονός ότιΟ χώρος στο δίσκο του διακομιστή όπου βρίσκεται το ES είναι πολύ χαμηλός, μόλις οποιοδήποτε ευρετήριο με ένα ή περισσότερα θραύσματα εκχωρηθεί σε έναν κόμβο σε έναν δίσκο που αποθηκεύει περισσότερο από το 95% των δεδομένων, το ευρετήριο θα αναγκαστεί να μεταβεί σε λειτουργία μόνο για ανάγνωση.
Δείτε όλες τις πληροφορίες ρυθμίσεων ευρετηρίου για επίσκεψη:Η σύνδεση με υπερσύνδεσμο είναι ορατή., όπως φαίνεται στο παρακάτω σχήμα:
"γνώση" : { "Ρυθμίσεις" : { "ευρετήριο" : { "number_of_shards" : "3", "μπλοκ" : { "read_only_allow_delete" : "αληθές" }, "provided_name" : "γνώση", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid" : "yeSIP_otQo6JQ8ooRdr8hA", "έκδοση" : { "δημιουργήθηκε" : "6050299" } } } } read_only_allow_deleteΌταν αυτό το χαρακτηριστικό είναι αληθές, το ευρετήριο ES επιτρέπει μόνο την ανάγνωση και τη διαγραφή δεδομένων και δεν επιτρέπει την προσθήκη ή την τροποποίηση δεδομένων
λύση
Αφού λύσετε το πρόβλημα του δίσκου, αναπτύξτε ή διαγράψτε ανεπιθύμητα αρχεία, ακολουθήστε τον παρακάτω οδηγό.
Ορίστε το read_only_allow_delete σε false
Μπορείτε να στείλετε ένα αίτημα πώλησης χρησιμοποιώντας το elasticsearch-head:Η σύνδεση με υπερσύνδεσμο είναι ορατή., όπως φαίνεται στο παρακάτω σχήμα:
{ "αναγνωρισμένο": αληθές
}
Αυτό εξακολουθεί να μην μπορεί να απαλλαγεί από την κατάσταση της υγείας του Red,Διαγράψτε απευθείας τα δεδομένα ".monitoring-es-6-*", η κατάσταση γίνεται υγιής, όπως φαίνεται στο παρακάτω σχήμα:
(Τέλος)
|