Elasticsearch-head panelini kullanarak Elasticsearch(ES) ile bağladım ve şu hatayı buldum:
Küme Sağlığı: kırmızı (31 üzerinden 24)
Durum bilgilerini görmek için şu adresi ziyaret edin:Bağlantı girişi görünür.
{ "cluster_name" : "elasticsearch", "durum" : "kırmızı", "timed_out" : yanlış, "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
} "durum" : "kırmızı"Durum Boş
Kafa eklentisi farklı renklerde gösterilecek
1) Yeşil - en sağlıklı durum, yani tüm birincil ve replika parçaları mevcuttur; 2) Sarı - tüm birincil parçalar mevcut, ancak bazı replika parçalar mevcut değildir; 3) Kırmızı - Bazı birincil parçalar mevcut değildir. (Şu anda, sorgu yürütülürken bazı veriler bulunabilir, bu yüzden hızlı çözmek daha iyidir.) )
Indeks durumunu görmek için şu adrese ulaşabilirsiniz:Bağlantı girişi görünür.
.monitoring-es-6-2021.01.22 0 p ATAMAMIŞ ALLOCATION_FAILED Unassigned sharding nedir?
Tek cümlede açıklama: Tahsis edilmemiş parçalar. ES'yi başlatırken, Head eklentisi üzerinden sürekli yeniledikten sonra küme parçaları mor, gri ve sonunda yeşil görünüyor.
Neden atamamış sharding gerçekleşir?
Örneğin, parçaları tahsis edemiyorsanız, kümedeki düğüm sayısına göre replika parça sayısını fazla tahsis etmiş olursunuzsa, parçalar ATAMAMIŞ kalır. Hata kodu: ALLOCATION_FAILED.
Atamamış sharding sorunlarının olası nedenleri nelerdir?
1) INDEX_CREATED: İndeksin oluşturulduğu API nedeniyle tahsis edilmedi. 2) CLUSTER_RECOVERED: Tam küme kurtarılması nedeniyle tahsis edilmedi. 3) INDEX_REOPENED: Bir endeks açılması veya kapanması nedeniyle tahsis edilmez. 4) DANGLING_INDEX_IMPORTED: Asılan endeksi ithal edilmesi sonucu nedeniyle tahsis edilmemiştir. 5) NEW_INDEX_RESTORED: Yeni bir endekse geri döndüğü için tahsis edilmedi. 6) EXISTING_INDEX_RESTORED: Kapalı endekse geri döndüğü için tahsis edilmedi. 7) REPLICA_ADDED: Açıkça replika parçaları eklendiği için tahsis edilmemiştir. 8) ALLOCATION_FAILED: Parça tahsisi hatası nedeniyle tahsis edilmedi. 9) NODE_LEFT: Parçayı taşıyan düğüm kümeden ayrılır ve tahsis edilmez. 10) YENİDEN BAŞLATILMA: Başlangıçtan başlatmaya geçerken tahsis edilmemiş parçalar nedeniyle (örneğin, gölge gölge kopyalarıyla sharding). 11) REROUTE_CANCELLED: Açık bir yeniden yelken açma komutu sonucu Deallocate yapın. 12) REALLOCATED_REPLICA: Daha iyi bir kopya konumunun kullanım için kalibre edildiğini belirlemek, mevcut kopya tahsisi ve tahsisi iptal edilmesine yol açıyor.
Sunucuya giriş yapın ve Elasticsearch (ES) loglarını aşağıdaki şekilde görüntüleyin:
Elasticsearch, ES_HOME/logs dizininde çok sayıda log çıkarıyor. Varsayılan kayıt seviyesi INFO'dur. Orta düzeyde bilgi sağlar, ancak kayıtlarınızı boğmamak için tasarlanmıştır. Bağlantı girişi görünür.
Aşağıdaki gibi çok sayıda hata vardır:
[2021-01-21T03:33:26,435] [UYARI] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] izleme belgesini indekslerken beklenmedik bir hata
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];] at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222] java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) adresinde ~[?:1.8.0_222] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222] org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?] adresinde 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] adresinde org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde 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] adresinde org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde 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] adresinde at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2] at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2] at 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] adresinde org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde at 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] adresinde org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?] adresinde at 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] adresinde org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde 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] adresinde org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2] adresinde at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] Nedeni: org.elasticsearch.cluster.block.ClusterBlockException: engellendi: [FORBIDDEN/12/index okunabilir / silmeye izin ver (api)]; org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2] ... 21 tane daha
Analizden sonra bunun nedeni olduğu ortaya çıktıES'nin bulunduğu sunucunun disk alanı çok küçüktür, bir veya daha fazla parça içeren herhangi bir indeks, verinin %95'inden fazlasını depolayan bir diskteki düğüme atandığında, indeks yalnızca okunur moduna zorlanır.
Tüm indeks ayarları bilgilerini ziyaret etmek için görüntülenin:Bağlantı girişi görünür., aşağıdaki şekilde gösterildiği gibi:
"bilgi" : { "ayarlar" : { "indeks" : { "number_of_shards" : "3", "bloklar" : { "read_only_allow_delete" : "doğru" }, "provided_name" : "bilgi", "creation_date" : "1576206251443", "number_of_replicas" : "0", "uuid" : "yeSIP_otQo6JQ8ooRdr8hA", "versiyon" : { "created" : "6050299" } } } } read_only_allow_deleteBu öznitelik doğruysa, ES indeksi yalnızca veri okuma ve silme izni verir ve veri eklemeye veya değiştirmeye izin vermez
çözüm
Disk sorununu çözdükten sonra, gereksiz dosyaları genişletin veya silin, aşağıdaki eğitimi izleyin.
read_only_allow_delete yanlış olarak ayarlan
Elasticsearch-head kullanarak bir put talebi gönderebilirsiniz:Bağlantı girişi görünür., aşağıdaki şekilde gösterildiği gibi:
Bu hâlâ Red'in sağlık durumunu yok edemiyor,".monitoring-es-6-*" verilerini doğrudan silin, durum sağlıklı hale gelir, aşağıdaki şekilde gösterildiği gibi:
(Son)
|