Jika Anda mengalami masalah saat menggunakan kluster Elasticsearch Alibaba Cloud, Anda dapat melihat pesan kesalahan dalam data terkait seperti log kluster, log klien, dan hasil eksekusi perintah. Topik ini memberikan jawaban atas beberapa pertanyaan yang sering diajukan tentang kesalahan umum yang mungkin terjadi saat menggunakan kluster Elasticsearch.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "HTTP/1.1 413 Request Entity Too Large" saat data ditulis ke kluster Elasticsearch?
Penyebab
Jumlah data yang ditulis ke kluster Elasticsearch sekaligus melebihi nilai parameter http.max_content_length. Parameter ini menentukan jumlah maksimum data yang dapat ditulis ke kluster Elasticsearch sekaligus, dengan nilai default 100 MB. Kami menyarankan agar Anda tidak mengubah nilainya.
Solusi
Atur jumlah data yang Anda tulis ke kluster sekaligus. Jumlah data dihitung dengan rumus berikut: Jumlah dokumen × Ukuran setiap dokumen. Anda mungkin tidak dapat memperkirakan jumlah data secara tepat hanya berdasarkan jumlah dokumen karena hal tersebut juga tergantung pada ukuran dan kompleksitas setiap dokumen. Jika setiap dokumen menyimpan sejumlah besar data, kurangi jumlah dokumen yang ditulis sekaligus. Kami menyarankan Anda mencoba men-debug jumlah data yang ditulis sekaligus dari 5 MB hingga 15 MB. Secara default, jumlah data yang ditulis ke kluster Elasticsearch sekaligus melalui permintaan penulisan massal tidak boleh melebihi 100 MB. Untuk informasi lebih lanjut, lihat Pengaturan HTTP. Untuk informasi tentang cara men-debug jumlah data, lihat Menggunakan dan Menyesuaikan Ukuran Permintaan Massal dalam dokumentasi Elasticsearch open source.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "forbids automatic creation of the index" saat data ditulis ke kluster Elasticsearch?
Penyebab
Fitur Auto Indexing tidak diaktifkan untuk kluster Elasticsearch.
Solusi
Aktifkan fitur Auto Indexing untuk kluster Elasticsearch di panel Konfigurasi File YML pada konsol Elasticsearch. Ini adalah operasi statis. Anda juga dapat menjalankan perintah terkait untuk secara dinamis mengaktifkan fitur Auto Indexing untuk kluster Elasticsearch. Untuk informasi tentang cara mengonfigurasi pengaturan dalam file YML kluster Elasticsearch, lihat Konfigurasikan file YML.
Apa yang harus saya lakukan jika log kluster kluster Elasticsearch berisi pesan kesalahan "all shards failed"?
Deskripsi masalah
Pesan kesalahan tersebut menunjukkan bahwa masalah berikut mungkin terjadi pada kluster Elasticsearch:
Tidak ada data yang dapat di-query dari shard dalam kluster.
Data tidak dapat dicari karena kluster atau node dalam kluster sedang diinisialisasi.
Satu atau lebih indeks dalam kluster memiliki shard yang belum dialokasikan, atau shard sedang dipulihkan untuk indeks dalam kluster. Kluster berada dalam kondisi abnormal yang ditunjukkan oleh warna merah.
Penyebab
Masalah tersebut mungkin terjadi dalam skenario berikut:
Sebuah node terputus dari atau sedang terhubung ke kluster Elasticsearch.
Shard tempat Anda ingin meng-query data sedang dipulihkan dan tidak tersedia.
Disk kluster Elasticsearch rusak.
Solusi
Periksa apakah kluster Elasticsearch sehat berdasarkan data pemantauan dan log kluster. Sebagai contoh, Anda dapat memeriksa apakah ruang disk kluster Elasticsearch cukup atau apakah beberapa konfigurasi parameter untuk indeks dan kluster dapat menyebabkan kegagalan alokasi shard. Jika terjadi pemutusan node atau ada shard yang belum dialokasikan dalam kluster Elasticsearch, selesaikan masalah dengan melakukan langkah-langkah berikut:
Query status alokasi shard dalam kluster Elasticsearch.
GET /_cluster/allocation/explainCatatanJika semua shard dialokasikan dalam kluster Elasticsearch, pesan kesalahan akan ditampilkan setelah perintah berhasil dijalankan.
Alokasikan ulang shard yang belum dialokasikan.
POST /_cluster/reroute?retry_failed=true
Apa yang harus saya lakukan jika log kluster kluster Elasticsearch berisi pesan kesalahan terkait SSL atau TLS?
Penyebab
Jika lalu lintas teks biasa ditransfer melalui koneksi SSL, log kluster berisi pesan kesalahan yang ditampilkan pada gambar berikut. Dalam banyak kasus, masalah ini terjadi ketika sebuah node yang tidak diaktifkan komunikasi terenkripsi mencoba terhubung ke node yang diaktifkan komunikasi terenkripsi.
Solusi
Kami menyarankan Anda menyelesaikan masalah berdasarkan instruksi berikut:
Periksa apakah akses ke kluster Elasticsearch normal. Jika HTTPS tidak diaktifkan untuk kluster, Anda hanya dapat mengakses kluster melalui HTTP secara default. Dalam hal ini, jika Anda mengakses kluster melalui HTTPS, kesalahan akan dilaporkan. Jika Anda ingin mengakses kluster melalui HTTPS, Anda harus mengaktifkan HTTPS untuk kluster di konsol Elasticsearch. Untuk informasi tentang cara mengaktifkan HTTPS untuk kluster Elasticsearch, lihat Aktifkan HTTPS.
Periksa apakah alamat IP yang dicetak dalam log kluster adalah alamat IP yang digunakan untuk mengakses kluster Elasticsearch dan apakah alamat IP tersebut telah ditambahkan ke daftar putih alamat IP publik kluster. Kami menyarankan Anda hanya menambahkan alamat IP atau blok CIDR yang Anda butuhkan untuk mengakses kluster ke daftar putih alamat IP publik kluster. Kami menyarankan Anda tidak menambahkan 0.0.0.0/0 ke daftar putih alamat IP publik.
Untuk informasi lebih lanjut tentang masalah terkait SSL atau TLS, lihat Pengecualian SSL/TLS umum.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "No keyword/multi-field defined exact matches for [KeywordField]" saat saya menggunakan plug-in SQL yang disediakan oleh X-Pack untuk melakukan query?
Penyebab
Bidang bertipe teks digunakan untuk query yang menggunakan operator LIKE.
Solusi
Query berbasis operator LIKE yang dilakukan menggunakan plug-in SQL yang disediakan oleh X-Pack hanya dapat melakukan filter eksak pada bidang bertipe kata kunci. Query ini tidak mendukung filter eksak untuk bidang bertipe teks. Untuk memastikan bahwa query dapat dilakukan sesuai harapan, Anda harus menggunakan bidang bertipe kata kunci. Untuk informasi lebih lanjut, lihat Tidak dapat menjalankan query SQL pada multi-bidang menggunakan Elastic Search v. 7.3 dan SQL dan multi-bidang.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "path is not accessible on master node" saat saya menjalankan perintah PUT _snapshot/my_backup untuk membuat snapshot untuk kluster Elasticsearch guna mencadangkan data kluster?
Penyebab
Bucket Object Storage Service (OSS) yang Anda gunakan untuk menyimpan snapshot adalah bucket dari kelas penyimpanan Arsip. Dalam hal ini, Anda harus memulihkan objek dalam bucket sebelum Anda dapat membaca data dari bucket.
Solusi
Alibaba Cloud Elasticsearch tidak mengizinkan Anda menyimpan snapshot yang dibuat untuk kluster Elasticsearch ke bucket OSS dari kelas penyimpanan Arsip. Anda harus menggunakan bucket OSS dari kelas penyimpanan Standar yang berada di wilayah yang sama dengan kluster Elasticsearch. Untuk informasi tentang cara membuat snapshot untuk mencadangkan data kluster Elasticsearch, lihat Buat snapshot manual dan pulihkan data dari snapshot manual.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "kibana did not load properly" saat saya masuk ke konsol Kibana kluster Elasticsearch?
Penyebab
Jika penggunaan disk pada node data dalam kluster Elasticsearch melebihi 95%, mekanisme perlindungan tulis yang disediakan oleh Elasticsearch akan dipicu. Sistem secara paksa mengonfigurasi properti read_only_allow_delete untuk semua indeks dalam kluster Elasticsearch. Akibatnya, data tidak dapat ditulis ke indeks, dan Anda hanya dapat membaca data dari indeks atau menghapus indeks.
Solusi
Selesaikan masalah penggunaan disk tinggi. Untuk informasi lebih lanjut, lihat Penggunaan disk tinggi dan indeks hanya-baca.
Jalankan perintah berikut untuk mengatur properti index.blocks.read_only_allow_delete menjadi null untuk semua indeks. Ini memastikan bahwa semua indeks pada kluster tidak hanya-baca.
PUT _settings { "index.blocks.read_only_allow_delete": null }
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "unsupported_operation_execption" saat saya menggunakan plug-in aliyun-qos?
Deskripsi masalah
Setelah fitur throttling diaktifkan untuk plug-in aliyun-qos menggunakan parameter apack.qos.ratelimit.enabled, kesalahan berikut dilaporkan selama konfigurasi limiter:
{
"error": {
"root_cause": [
{
"type": "unsupported_operation_exception",
"reason": "unsupported_operation_exception: only define search or bulk action for limit"
}
],
"type": "unsupported_operation_exception",
"reason": "unsupported_operation_exception: only define search or bulk action for limit"
},
"status": 500
}Penyebab
Plug-in aliyun-qos yang Anda gunakan bukan versi terbaru.
Solusi
Jalankan perintah GET /_cat/plugins?v untuk mendapatkan versi plug-in aliyun-qos. Versi terbaru plug-in untuk kluster Elasticsearch V7.10 adalah 7.10.0_ali1.6.0.2. Versi terbaru plug-in untuk kluster Elasticsearch versi lainnya berformat <Versi kluster Elasticsearch>-rc4. Jika plug-in bukan versi terbaru, Anda dapat menggunakan salah satu metode berikut untuk menyelesaikan masalah:
Plug-in terinstal pada kluster Elasticsearch V7.10: Perbarui versi kernel kluster ke V1.6.0. Untuk informasi lebih lanjut, lihat Tingkatkan versi kluster.
Plug-in terinstal pada kluster Elasticsearch versi selain V7.10: Ajukan tiket untuk menghubungi insinyur teknis Elasticsearch guna meningkatkan versi plug-in. Setelah ditingkatkan, Anda harus me-restart kluster Elasticsearch Anda agar perubahan berlaku.
Jika versi plug-in aliyun-qos lebih awal dari rc4, sistem akan menampilkan pesan kesalahan
unsupported_operation_exceptionsaat Anda menggunakan plug-in.Anda dapat meningkatkan versi plug-in aliyun-qos yang terinstal pada kluster Elasticsearch V6.7.0 atau lebih baru. Jika Anda ingin meningkatkan versi plug-in aliyun-qos yang terinstal pada kluster Elasticsearch versi lebih awal dari V6.7.0, Anda harus meningkatkan versi kluster ke V6.7.0 atau lebih baru sebelum Anda dapat meningkatkan versi plug-in aliyun-qos.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan yang berisi "NoNodeAvailableException" saat saya menggunakan Transport Client untuk mengakses kluster Elasticsearch melalui port 9300?
Deskripsi masalah
Saat Anda menggunakan Transport Client 5.5 atau Transport Client 5.6 untuk mengakses kluster Elasticsearch melalui port 9300, pesan kesalahan berikut mungkin ditampilkan: NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{HVdK7Cff****\_P0c9n****}{es-cn-v1qqweee****.elasticsearch.aliyuncs.com}{172.17.XX.XX:9300}]]. Namun, kluster Elasticsearch tidak berisi node dengan alamat IP dalam format 172.17.XX.XX.
Solusi
Kami menyarankan Anda menggunakan Transport Client 5.3.3 untuk mengakses kluster Elasticsearch. Untuk informasi lebih lanjut, lihat Transport Client (5.x).
Apa yang harus saya lakukan jika log kluster kluster Elasticsearch V7.4 berisi pesan kesalahan "Unclosed object or array found" atau "ArrayIndexOutOfBoundsException"?
Penyebab
Masalah ini disebabkan oleh bug pada Elasticsearch open source 7.4 dan tidak memengaruhi bisnis Anda.
Solusi
Masalah ini telah diselesaikan untuk Elasticsearch open source versi setelah 7.4. Kluster Elasticsearch V7.4 Alibaba Cloud telah dihentikan. Jika Anda mengalami masalah ini saat menggunakan kluster Elasticsearch V7.4, kami menyarankan Anda membatalkan langganan kluster tersebut, dan membeli kluster Elasticsearch versi lebih baru berdasarkan kebutuhan bisnis Anda. Jika Anda ingin memigrasi data dari kluster Elasticsearch asli sebelum membatalkan langganan kluster, Anda dapat merujuk ke Pilih solusi migrasi data untuk memilih solusi migrasi data berdasarkan kebutuhan bisnis Anda. Ini memastikan integritas data kluster Elasticsearch asli.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "No field found for [metaData] in mapping with types" saat saya menggunakan plug-in aliyun-knn untuk melakukan pencarian vektor pada indeks vektor yang dikonfigurasi dengan fungsi pengukuran jarak Cosine?
Kami menyarankan Anda menyelesaikan masalah berdasarkan instruksi berikut:
Periksa apakah versi kluster Elasticsearch Anda memenuhi persyaratan.
Plug-in aliyun-knn hanya tersedia untuk kluster Elasticsearch V6.7 dengan versi kernel V1.2 atau lebih baru dan kluster Elasticsearch V7.10 dengan versi kernel V1.4 atau lebih baru. Untuk informasi lebih lanjut tentang persyaratan versi kluster, lihat Gunakan plug-in aliyun-knn.
Periksa apakah Anda melakukan query skrip. Anda hanya dapat melakukan query skrip menggunakan parameter script_score.
Periksa apakah bidang yang Anda tentukan untuk query memenuhi persyaratan. Misalnya, bidang dalam indeks adalah bidang bersarang, tetapi bidang yang Anda tentukan untuk query bukan bidang bersarang.
Apa yang harus saya lakukan jika sistem menampilkan pesan kesalahan "Kunci API tidak diaktifkan di Elasticsearch" saat saya menggunakan Kunci API Elasticsearch untuk autentikasi?
Penyebab
Kunci API tidak diaktifkan untuk kluster Elasticsearch.
Solusi
Aktifkan HTTPS. Untuk informasi lebih lanjut, lihat Aktifkan HTTPS.