Halaman ini menjawab beberapa pertanyaan umum terkait penggunaan klien untuk mengakses kluster Elasticsearch.
Apakah Alibaba Cloud Elasticsearch kompatibel dengan API Elasticsearch sumber terbuka?
Alibaba Cloud Elasticsearch mendukung RESTful API yang disediakan oleh Elasticsearch sumber terbuka serta menyediakan API manajemen khusus.
Alibaba Cloud Elasticsearch sepenuhnya kompatibel dengan RESTful API dari Elasticsearch sumber terbuka. Anda dapat menggunakan RESTful API untuk mengelola data dalam kluster, seperti menambahkan, menghapus, atau memodifikasi dokumen, mencari data, serta mengonfigurasi alias. Untuk informasi lebih lanjut, lihat RESTful API.
Alibaba Cloud Elasticsearch menyediakan API manajemen khusus yang memungkinkan Anda melakukan operasi serupa dengan yang tersedia di konsol Alibaba Cloud Elasticsearch, seperti membuat kluster atau mengonfigurasi daftar putih alamat IP. Untuk informasi lebih lanjut, lihat Daftar Operasi Berdasarkan Fungsi.
Bagaimana cara mengonfigurasi parameter cluster.name saat saya menggunakan Transport Client untuk mengakses kluster Elasticsearch Alibaba Cloud?
Atur parameter cluster.name menjadi ID kluster. ID tersebut dapat diperoleh dari halaman Informasi Dasar kluster. Untuk informasi lebih lanjut, lihat Lihat Informasi Dasar Kluster.
Ketika saya menggunakan Transport Client untuk mengakses kluster Elasticsearch Alibaba Cloud, pesan kesalahan "NoNodeAvailableException" ditampilkan. Apa yang harus saya lakukan?
Pesan kesalahan ini biasanya muncul karena penggunaan Transport Client versi 5.5 atau 5.6. Kami merekomendasikan penggunaan Transport Client versi 5.3.3 untuk mengakses kluster Elasticsearch Alibaba Cloud. Pastikan untuk mengatur parameter client.transport.sniff menjadi false. Untuk informasi lebih lanjut, lihat Transport Client (5.x).
Transport Client tidak lagi digunakan pada Elasticsearch sumber terbuka versi 7.0. Kami merekomendasikan penggunaan klien REST Java. Untuk informasi lebih lanjut tentang klien REST Java, lihat High Level REST Client (6.3.x), High Level REST Client (6.7.x), dan Low Level REST Client (5.x).
Apa yang harus saya lakukan jika pesan kesalahan "Client Request Timeout" ditampilkan ketika saya menggunakan klien untuk mengakses kluster Elasticsearch Alibaba Cloud?
Tabel berikut menjelaskan kemungkinan penyebab masalah ini beserta solusi terkait:
Penyebab Potensial | Solusi |
Memori kluster Elasticsearch tidak cukup, sehingga operasi I/O baca dan tulis diblokir. | Lihat Data Pemantauan Kluster Elasticsearch untuk memeriksa penggunaan memori dan beban kerja baca/tulis kluster. Jika memori tidak mencukupi dan beban kerja tinggi, kurangi jumlah operasi baca/tulis untuk meningkatkan kinerja. |
Periode waktu habis koneksi terlalu singkat, sehingga waktu habis terjadi sebelum koneksi antara klien dan kluster terbentuk. | Atur ulang nilai parameter ConnectTimeout dan SocketTimeout sesuai kebutuhan bisnis Anda. Sebagai contoh, atur ConnectTimeout menjadi 10000 dan SocketTimeout menjadi 30000. |
Masalah jaringan seperti fluktuasi jaringan terjadi. | Selesaikan masalah berdasarkan situasi aktual. |
Bisakah saya menggunakan Java API untuk mengakses kluster Elasticsearch Alibaba Cloud melalui port 9200?
Ya, Anda dapat menggunakan Java API untuk mengakses kluster Elasticsearch melalui port 9200. Alibaba Cloud Elasticsearch mendukung semua Java API yang tersedia di Elasticsearch sumber terbuka untuk mengakses kluster melalui port 9200. Untuk kluster Elasticsearch V5.X, Anda juga dapat menggunakan Transport Client 5.3.3 melalui port 9300. Namun, untuk versi 6.0 atau yang lebih baru, port 9300 tidak tersedia karena risiko keamanannya, dan hanya port 9200 yang dapat digunakan. Alibaba Cloud Elasticsearch tidak mendukung akses melalui port kustom.
Anda hanya dapat menggunakan SDK dari Transport Client 5.3.3 untuk mengakses kluster Elasticsearch V5.X karena bug pada SDK dari Transport Client 5.5.3. Pastikan untuk mengatur parameter client.transport.sniff menjadi false dalam kode yang digunakan untuk mengakses kluster Elasticsearch V5.X. Untuk informasi lebih lanjut tentang Transport Client, lihat Transport Client (5.x).
Apa yang harus saya lakukan jika pesan kesalahan "Connection reset by peer" ditampilkan ketika saya menggunakan klien untuk mengakses kluster Elasticsearch Alibaba Cloud?
Penyebab
Operasi baca dan tulis dilakukan setelah klien secara tak terduga terputus dari kluster Elasticsearch.
Solusi
Lakukan pemeriksaan berikut untuk menyelesaikan masalah:
Periksa log dan data pemantauan kluster Elasticsearch untuk mendeteksi pengecualian yang terjadi pada kluster.
Jika masalah seperti status kluster yang tidak sehat atau pemutusan node terdeteksi, selesaikan masalah tersebut terlebih dahulu. Untuk informasi lebih lanjut, lihat Metrik dan Saran Penanganan Pengecualian.
Periksa apakah kebijakan intersepsi jaringan dikonfigurasi untuk klien.
Aktifkan sistem untuk menangkap paket dari sisi pengguna, sisi layanan Elasticsearch, dan sisi layanan Server Load Balancer (SLB) untuk mendiagnosis masalah jaringan. Jika tidak ada masalah jaringan yang terdeteksi, periksa apakah kebijakan intersepsi jaringan dikonfigurasi untuk klien.
Periksa apakah koneksi TCP yang dibuat berdasarkan HTTP keep-alive kedaluwarsa.
HTTP keep-alive memastikan bahwa satu koneksi TCP dapat mentransfer paket antara server dan klien sebanyak mungkin. Setiap kali paket ditransfer, durasi koneksi TCP diperbarui. Jika tidak ada paket yang ditransfer selama periode tertentu, koneksi TCP akan kedaluwarsa dan ditutup oleh HTTP keep-alive.
CatatanTCP keep-alive adalah mekanisme untuk mendeteksi status koneksi TCP. Secara teori, jika tidak ada pengecualian yang terjadi pada server dan klien setelah koneksi TCP dibuat, koneksi tetap ada kecuali ditutup. HTTP keep-alive memastikan bahwa satu koneksi TCP dapat mentransfer paket sebanyak mungkin. Jika tidak ada paket yang ditransfer selama periode tertentu, HTTP keep-alive melepaskan dan menutup koneksi TCP.
Jika koneksi TCP kedaluwarsa, tingkatkan periode waktu habis koneksi. Sebagai contoh, atur nilai parameter ConnectTimeout menjadi 10000 dan nilai parameter SocketTimeout menjadi 30000 pada klien.
Jika masalah tetap ada setelah melakukan pemeriksaan di atas, periksa logika kode, coba kembali koneksi, dan analisis masalah berdasarkan situasi aktual.
Bagaimana cara menginstal alat cURL dan menggunakan perintah cURL untuk mengakses kluster Elasticsearch Alibaba Cloud jika saya ingin menggunakan klien Windows untuk terhubung ke kluster?
Unduh paket untuk alat cURL dan instal alat tersebut. Paket dapat diperoleh dari Dokumentasi cURL.
Jalankan perintah cURL untuk mengakses kluster Elasticsearch. Untuk informasi lebih lanjut, lihat Gunakan Perintah cURL dan Operasi API untuk Mengelola Kluster Elasticsearch Alibaba Cloud.
Metode kueri SQL apa saja yang didukung ketika saya menggunakan klien untuk mengakses kluster Elasticsearch Alibaba Cloud?
Klien yang digunakan untuk mengakses kluster Elasticsearch Alibaba Cloud mendukung fitur yang sama dengan klien untuk mengakses kluster Elasticsearch sumber terbuka. Metode penggunaan fitur tersebut juga identik. Berikut adalah metode kueri SQL yang didukung:
Metode kueri SQL seperti SQL REST API, SQL Translate API, dan SQL JDBC driver. Untuk informasi lebih lanjut tentang metode kueri SQL yang didukung, lihat SQL Client Applications. Kluster Elasticsearch versi 6.3 atau yang lebih baru mendukung X-Pack SQL.
Kueri X-Pack SQL. Anda dapat menggunakan plug-in x-pack-sql yang disediakan oleh Elastic. Untuk informasi lebih lanjut, lihat sql-search-api.
Plug-in SQL pihak ketiga, seperti plug-in sumber terbuka elasticsearch-sql. Untuk informasi lebih lanjut tentang plug-in tersebut, lihat elasticsearch-sql.