Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 14418|Yanıt: 2

Elasticsearch(ES) küme sağlığı: kırmızı Arıza analizi

[Bağlantıyı kopyala]
2021-1-27 tarihinde 23:08:07 tarihinde yayınlandı | | | |
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.

CentOS her klasör boyutunu sayar ve büyük dosyaları arar.
https://www.itsvse.com/thread-9542-1-1.html
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:

{
"Kabul Edildi": Doğru
}





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)




Önceki:CentOS her klasör boyutunu sayar ve büyük dosyaları arar.
Önümüzdeki:Elasticsearch(ES) küme sağlığı: sarı (7'den 6) durumu
 Ev sahibi| 2021-6-15 tarihinde 11:22:58 tarihinde yayınlandı |
-- Tüm endeks durumlarını görüntüleyin

Bağlantı girişi görünür.

-- Kırmızı durumlu indeksleri görüntüleyin
Bağlantı girişi görünür.

Belge:Bağlantı girişi görünür.

 Ev sahibi| 2023-4-17 12:12:32 tarihinde yayınlandı |
Elasticsearch (ES) hata çözümüne veri yazamıyor
https://www.itsvse.com/thread-10568-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com