Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 14418|Jawab: 2

Kesehatan kluster Elasticsearch(ES): merah Analisis kegagalan

[Salin tautan]
Dipaparkan pada 2021-1-27 23:08:07 | | | |
Menggunakan panel elasticsearch-head untuk terhubung ke Elasticsearch(ES), saya menemukan kesalahan berikut:

Kesehatan Cluster: merah (24 dari 31)


Untuk melihat informasi status, kunjungi:Login hyperlink terlihat.

{
  "cluster_name" : "elasticsearch",
  "status" : "merah",
  "timed_out" : salah,
  "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" : "merah"Statusnya Kosong

Plugin kepala akan ditampilkan dalam warna yang berbeda

1) Hijau - keadaan paling sehat, yang berarti bahwa semua pecahan primer dan replika tersedia;
2) Kuning - semua pecahan utama tersedia, tetapi beberapa pecahan replika tidak tersedia;
3) Merah - Beberapa pecahan utama tidak tersedia. (Saat ini, beberapa data masih dapat ditemukan saat mengeksekusi kueri, jadi lebih baik menyelesaikannya dengan cepat.) )


Untuk melihat status indeks, akses:Login hyperlink terlihat.

.monitoring-es-6-2021.01.22 0 p UNASSIGNED ALLOCATION_FAILED
Apa itu sharding yang tidak ditetapkan?

Penjelasan dalam satu kalimat: Pecahan yang tidak dialokasikan.
Saat memulai ES, Anda akan menemukan bahwa pecahan cluster akan tampak ungu, abu-abu, dan terakhir hijau setelah terus-menerus disegarkan melalui plug-in Kepala.


Mengapa sharding yang tidak ditetapkan terjadi?

Jika Anda tidak dapat mengalokasikan serpihan, misalnya, Anda telah mengalokasikan jumlah serpihan replika secara berlebihan untuk jumlah simpul dalam kluster, serpihan tetap TIDAK DITETAPKAN.
Kode kesalahannya adalah: ALLOCATION_FAILED.


Kemungkinan penyebab masalah sharding yang tidak ditetapkan?

1) INDEX_CREATED: Tidak dialokasikan karena API yang membuat indeks.
2) CLUSTER_RECOVERED: Tidak dialokasikan karena pemulihan kluster penuh.
3) INDEX_REOPENED: Tidak dialokasikan karena membuka atau menutup indeks.
4) DANGLING_INDEX_IMPORTED: Tidak dialokasikan karena hasil impor indeks yang menjuntai.
5) NEW_INDEX_RESTORED: Tidak dialokasikan karena kembali ke indeks baru.
6) EXISTING_INDEX_RESTORED: Tidak dialokasikan karena kembali ke indeks tertutup.
7) REPLICA_ADDED: Tidak dialokasikan karena secara eksplisit menambahkan serpihan replika.
8) ALLOCATION_FAILED: Tidak dialokasikan karena kegagalan alokasi serpihan.
9) NODE_LEFT: Node yang membawa pecahan meninggalkan cluster dan tidak dialokasikan.
10) DIINISIALISASI ULANG: Karena serpihan yang tidak dialokasikan saat berpindah dari awal ke inisialisasi (misalnya sharding dengan salinan bayangan).
11) REROUTE_CANCELLED: Batalkan alokasi sebagai akibat dari perintah unresail eksplisit.
12) REALLOCATED_REPLICA: Tentukan bahwa lokasi replika yang lebih baik dikalibrasi untuk digunakan, yang mengakibatkan pembatalan alokasi salinan yang ada dan tidak alokasi.


Masuk ke server dan lihat log Elasticsearch (ES) sebagai berikut:

Elasticsearch menghasilkan banyak log, semuanya di direktori ES_HOME/logs. Tingkat pengelogan default adalah INFO. Ini memberikan informasi moderat, tetapi dirancang untuk tidak membanjiri log Anda.
Login hyperlink terlihat.



Ada sejumlah besar kesalahan seperti:

[2021-01-21T03:33:26,435] [MEMPERINGATKAN] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] kesalahan tak terduga saat mengindeks dokumen pemantauan
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
        di org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?]
        di java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222]
        di java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222]
        di java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222]
        di java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222]
        di java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222]
        di java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222]
        di java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222]
        di java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222]
        di java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222]
        di org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?]
        di org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?]
        di org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2]
        di org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?]
        di org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2]
        di java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        di java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        di java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
Disebabkan oleh: org.elasticsearch.cluster.block.ClusterBlockException: diblokir oleh: [DILARANG/12/indeks hanya-baca / izinkan penghapusan (api)];
        di org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2]
        di org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2]
        ... 21 lainnya


Setelah dianalisis, ditemukan bahwa itu karenaRuang disk server tempat ES berada terlalu rendah, setelah indeks apa pun dengan satu atau beberapa serpihan ditetapkan ke simpul dalam disk yang menyimpan lebih dari 95% data, indeks akan dipaksa ke mode baca-saja.

CentOS menghitung setiap ukuran folder dan mencari file besar
https://www.itsvse.com/thread-9542-1-1.html
Lihat semua informasi pengaturan indeks untuk dikunjungi:Login hyperlink terlihat., seperti yang ditunjukkan pada gambar di bawah ini:



"pengetahuan" : {
    "pengaturan" : {
      "indeks" : {
        "number_of_shards" : "3",
        "blok" : {
          "read_only_allow_delete" : "benar"
        },
        "provided_name" : "pengetahuan",
        "creation_date" : "1576206251443",
        "number_of_replicas" : "0",
        "uuid" : "yeSIP_otQo6JQ8ooRdr8hA",
        "versi" : {
          "dibuat" : "6050299"
        }
      }
    }
  }
read_only_allow_deleteJika atribut ini benar, indeks ES hanya mengizinkan membaca dan menghapus data, dan tidak mengizinkan penambahan atau modifikasi data


larutan

Setelah menyelesaikan masalah disk, perluas atau hapus file sampah, ikuti tutorial di bawah ini.

Atur read_only_allow_delete ke false

Kirim permintaan put menggunakan elasticsearch-head:Login hyperlink terlihat., seperti yang ditunjukkan pada gambar di bawah ini:

{
"diakui": benar
}





Ini masih tidak bisa menyingkirkan status kesehatan Red,Hapus data ".monitoring-es-6-*" secara langsung, keadaan menjadi sehat, seperti yang ditunjukkan pada gambar di bawah ini:



(Akhir)




Mantan:CentOS menghitung setiap ukuran folder dan mencari file besar
Depan:Kesehatan kluster Elasticsearch(ES): status kuning (6 dari 7)
 Tuan tanah| Dipaparkan pada 2021-6-15 11:22:58 |
-- Lihat semua status indeks

Login hyperlink terlihat.

-- Lihat indeks dengan status merah
Login hyperlink terlihat.

Dokumentasi:Login hyperlink terlihat.

 Tuan tanah| Dipaparkan pada 2023-4-17 12:12:32 |
Elasticsearch (ES) gagal menulis data ke solusi kesalahan
https://www.itsvse.com/thread-10568-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com