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.
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:
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)
|