Elasticsearch 8 adalah mesin pencarian dan analitik sumber terbuka yang kuat dan fleksibel yang dikenal dengan skalabilitas, kecepatan, dan kemampuan pengindeksan data waktu nyata. Rilis 8.x menghadirkan peningkatan yang signifikan, termasuk peningkatan fitur keamanan dengan manajemen sertifikat sederhana, kemampuan pencarian teks yang diperkaya, dan eksekusi kueri yang lebih efisien. Ini juga memperkenalkan dukungan asli untuk bidang runtime, sehingga memudahkan penyesuaian cara data diindeks dan dicari tanpa mengubah skema yang mendasarinya. Kemajuan ini menjadikan Elasticsearch 8.xa solusi tangguh untuk mengelola dan menganalisis data dalam jumlah besar.
Untuk menginstal Elasticsearch 8 di Debian 12, 11, atau 10, Anda dapat menggunakan repositori APT resmi yang disediakan oleh Elasticsearch. Panduan ini akan memandu Anda melalui langkah-langkah menyiapkan Elasticsearch, memastikan Anda memiliki akses ke fitur dan peningkatan terbaru.
Perbarui Debian Sebelum Instalasi Elasticsearch
Pada langkah pertama, Anda perlu memastikan sistem Debian Linux Anda diperbarui. Langkah ini akan memperbarui semua perangkat lunak yang ada ke versi terbaru dan mempersiapkan sistem Anda untuk instalasi.
Jalankan perintah berikut untuk memperbarui sistem Debian Anda:
sudo apt update && sudo apt upgrade
Menginstal Paket yang Diperlukan
Sebelum menginstal Elasticsearch 8 di Debian, kita harus memenuhi prasyarat tertentu. Ini melibatkan instalasi beberapa paket yang diperlukan, seperti software-properties-common, apt-transport-https, dan curl. Paket-paket ini memfasilitasi manajemen perangkat lunak dan transfer data melalui jaringan.
Instal paket yang diperlukan dengan menjalankan perintah berikut:
sudo apt install software-properties-common apt-transport-https curl -y
Tambahkan Repositori APT Elasticsearch 8 di Debian
Selanjutnya, kami akan menambahkan repositori Elasticsearch APT ke sistem Debian Linux kami. Pertama, kami akan mengimpor kunci GPG untuk Elasticsearch, yang menjamin keaslian perangkat lunak yang Anda instal. Jalankan perintah berikut untuk mengimpor kunci GPG:
curl -fSsL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | sudo tee /usr/share/keyrings/elasticsearch-8.gpg > /dev/null
Selanjutnya, mari impor repositori Elasticsearch. Ini akan memungkinkan kita menginstal Elasticsearch secara langsung menggunakan apt
manajer paket:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-8.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch-8.list
Memperbarui Cache Indeks APT
Kita harus memperbarui indeks paket APT setelah menambahkan repositori Elasticsearch ke sistem kita. Hal ini memastikan bahwa APT mengetahui tentang paket baru dari repositori yang baru ditambahkan. Jalankan perintah berikut untuk memperbarui indeks APT:
sudo apt update
Instal Elasticsearch 8 melalui Perintah APT
Sekarang sistem kita sudah siap dan indeks APT diperbarui, kita dapat menginstal Elasticsearch 8. Gunakan perintah berikut untuk menginstal Elasticsearch:
sudo apt install elasticsearch
Catatan: Jika ada dua entri untuk repositori Elasticsearch yang sama, Anda akan mengalami kesalahan selama pembaruan apt. Jika Anda menemukan kesalahan 'Entri sumber duplikat.daftar', periksa /etc/apt/sources.list.d/elasticsearch-8.x.list untuk entri duplikat atau temukan entri duplikat di antara file di /etc/ apt/sources.list.d/ dan file /etc/apt/sources.list.
Aktifkan Elasticsearch di Debian Setelah Instalasi
Pasca instalasi, layanan Elasticsearch dinonaktifkan saat boot dan tidak aktif secara default. Untuk mengaktifkan layanan Elasticsearch dan mengaturnya agar dimulai secara otomatis saat boot, gunakan yang berikut ini systemctl
memerintah:
sudo systemctl enable elasticsearch.service --now
Konfigurasikan Elasticsearch 8
Tahap selanjutnya dalam mengelola Elasticsearch 8 di sistem Debian Linux Anda adalah mengonfigurasinya.
Mengenal Pengaturan Elasticsearch Default
Pada instalasi Elasticsearch baru, perangkat lunak menempatkan data yang diproses dan disimpan di dalam direktori /var/lib/elasticsearch. Jika Anda memerlukan modifikasi konfigurasi, /etc/elasticsearch adalah direktori tujuan Anda. Jika opsi start-up Java memerlukan penyesuaian, pengaturan ini dapat disesuaikan di file konfigurasi /etc/default/elasticsearch.
Pengaturan standar ini sesuai dengan server mandiri tempat Elasticsearch beroperasi secara eksklusif di localhost. Namun, jika tujuan Anda adalah membuat klaster Elasticsearch atau mengizinkan koneksi jarak jauh, diperlukan modifikasi pada konfigurasi default.
Menyempurnakan File Konfigurasi Elasticsearch
File konfigurasi Elasticsearch berisi banyak parameter yang dapat disesuaikan untuk memenuhi kebutuhan unik Anda. Untuk membuka file ini, jalankan perintah berikut:
sudo nano /etc/elasticsearch/elasticsearch.yml
Parameter penting adalah cluster.name, yang menunjukkan nama cluster tempat node Anda berada. Secara default, ini adalah “elasticsearch”, tetapi nama yang lebih berbeda disarankan dalam lingkungan produksi.
Berikut ini contohnya:
cluster.name: my_application
Opsi node.name adalah opsi penting lainnya yang menetapkan nama node Elasticsearch. Nama ini penting untuk kelancaran administrasi dan manajemen, terutama ketika bekerja dengan banyak node.
Berikut ini contohnya:
node.name: node-1
Konfigurasikan Elasticsearch 8 dengan HTTPS di Debian
Berikut ini mencakup konfigurasi HTTPS untuk instalasi Elasticsearch Anda. Enkripsi sangat penting untuk mengamankan data, dan mengaktifkan Elasticsearch 8 untuk menggunakan HTTPS memastikan data dikirimkan dengan aman antara node dan klien.
Hasilkan Sertifikat SSL
Langkah pertama dalam mengonfigurasi Elasticsearch untuk HTTPS adalah membuat sertifikat SSL. Sertifikat inilah yang akan mengenkripsi data antara server dan klien Anda. Elasticsearch memiliki alat bawaan bernama elasticsearch-certutil yang dapat Anda gunakan untuk menghasilkan sertifikat yang ditandatangani sendiri. Jalankan perintah berikut:
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --silent --pem -out config/elastic-certificates.p12
Ini akan membuat file .p12 di direktori config. File ini berisi kunci pribadi dan sertifikat publik. Penting untuk melindungi file ini dan memastikannya tidak dapat diakses oleh pengguna yang tidak berwenang.
Perbarui Konfigurasi Elasticsearch 8
Selanjutnya, Anda perlu memperbarui file konfigurasi Elasticsearch yang terletak di /etc/elasticsearch/elasticsearch.yml untuk menyertakan jalur ke sertifikat dan kunci pribadi Anda. Buka file konfigurasi dan tambahkan baris berikut:
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
Pengaturan ini mengaktifkan SSL untuk lapisan transport, menentukan bahwa kita menggunakan sertifikat untuk verifikasi SSL, dan menentukan jalur ke sertifikat dan kunci pribadi.
Mengizinkan Akses Jarak Jauh (Opsional)
Elasticsearch dikonfigurasi untuk hanya mendengarkan localhost secara default. Namun, hal ini dapat disesuaikan jika diperlukan akses jarak jauh. Cari bagian Network dan hapus komentar pada baris network.host dengan menghilangkan tanda # di depannya. Ganti nilai yang ada dengan alamat IP pribadi internal Anda atau alamat IP eksternal.
Berikut ini contohnya:
# network.host: 192.168.0.1
Dalam contoh ini, network.host telah dihapus komentarnya dan disesuaikan dengan alamat IP pribadi internal.
Demi keamanan, disarankan untuk menentukan alamat IP individual. Namun, Anda dapat mengubah antarmuka jaringan untuk mendengarkan semua dengan mengaturnya ke 0.0.0.0 untuk beberapa alamat IP internal atau eksternal yang terhubung ke server.
Setelah melakukan perubahan yang diperlukan, simpan file konfigurasi (CTRL+O untuk menyimpan, CTRL+X untuk keluar).
Untuk menerapkan perubahan file konfigurasi, mulai ulang layanan Elasticsearch dengan perintah:
sudo systemctl restart elasticsearch
Memodifikasi Aturan Firewall UFW untuk Koneksi Jarak Jauh
Jika Anda telah mengonfigurasi Elasticsearch untuk mengizinkan koneksi jarak jauh, menyesuaikan aturan firewall Anda untuk mengakomodasi koneksi ini sangatlah penting. Firewall Tidak Rumit (UFW) dapat membantu dalam hal ini.
Anda dapat mengizinkan alamat IP tertentu untuk terhubung ke Elasticsearch dengan menjalankan perintah ini:
sudo ufw allow from <IP Address> to any port 9200
Jangan lupa untuk mengganti dengan alamat IP sebenarnya yang ingin Anda izinkan untuk koneksi. Perintah ini akan membuka port 9200 untuk alamat IP yang ditentukan, yang memungkinkannya berinteraksi dengan Elasticsearch.
Misalnya, jika Anda ingin mengizinkan alamat IP 192.168.0.2 untuk terhubung, perintahnya adalah:
sudo ufw allow from 192.168.0.2 to any port 9200
Setelah ini, server Debian Anda akan mengizinkan lalu lintas dari 192.168.0.2 untuk mengakses Elasticsearch melalui port 9200. Ingatlah bahwa keamanan server Anda adalah yang terpenting, jadi pastikan Anda hanya memberikan akses ke alamat IP tepercaya.
Memverifikasi Konfigurasi Elasticsearch 8
Setelah memodifikasi konfigurasi Elasticsearch Anda, penting untuk memverifikasi bahwa perubahan telah diterapkan dengan benar dan instans Elasticsearch Anda berfungsi seperti yang diharapkan.
Memeriksa Status Layanan Elasticsearch 8
Pertama, periksa status layanan Elasticsearch Anda untuk mengonfirmasi bahwa layanan tersebut aktif dan berjalan. Anda dapat melakukannya dengan perintah berikut:
sudo systemctl status elasticsearch
Perintah ini akan menampilkan informasi tentang layanan Elasticsearch, termasuk apakah layanan tersebut aktif dan berjalan. Jika tidak, Anda mungkin perlu memecahkan masalah tersebut atau meninjau perubahan konfigurasi Anda.
Menguji Akses Jarak Jauh (Opsional)
Jika Anda telah mengaktifkan akses jarak jauh, Anda dapat mengujinya dengan mencoba menyambung ke instans Elasticsearch Anda dari mesin jarak jauh. Seperti yang dibahas di bagian sebelumnya, alamat IP yang Anda gunakan untuk menyambungkan harus diizinkan dalam aturan firewall Anda.
Anda dapat menggunakan perintah curl untuk tujuan ini:
curl https://<Your_Elasticsearch_IP>:9200
Mengganti dengan alamat IP server Elasticsearch Anda. Jika berhasil, perintah ini akan mengembalikan informasi tentang instans Elasticsearch Anda.
Memvalidasi Integritas Data
Terakhir, penting untuk memverifikasi integritas data Elasticsearch Anda, terutama jika Anda telah membuat perubahan pada direktori data di konfigurasi Anda. Elasticsearch menyediakan API yang dapat Anda gunakan untuk memeriksa status data Anda.
Misalnya, untuk mendapatkan status semua indeks, gunakan perintah berikut:
curl -X GET "https://localhost:9200/_cat/indices?v=true&pretty"
Perintah ini mencantumkan semua indeks dalam instans Elasticsearch Anda dan status kesehatannya. Periksa status kesehatan indeks Anda untuk memastikan data Anda aman dan dapat diakses.
Catatan: Ingat, menjaga integritas dan keamanan data Anda harus selalu menjadi prioritas utama. Selalu periksa kembali perubahan Anda, validasi konfigurasi Anda, dan pantau instans Elasticsearch Anda secara teratur. Ini akan membantu Anda mempertahankan sistem manajemen data yang andal, efisien, dan aman dengan Elasticsearch.
Berinteraksi dengan Elasticsearch 8 melalui cURL
Bagian ini akan mengeksplorasi perintah umum yang berinteraksi dengan instans Elasticsearch 8 Anda. Kami akan menggunakan curl
alat baris perintah, perpustakaan fleksibel untuk mentransfer data menggunakan protokol yang berbeda.
Menghapus Indeks
Indeks Elasticsearch adalah sekumpulan dokumen yang memiliki karakteristik serupa. Jika Anda memiliki indeks bernama sampel yang ingin Anda hapus, Anda dapat melakukannya dengan perintah berikut:
curl -X DELETE 'https://localhost:9200/samples'
Perintah ini mengirimkan permintaan HTTP DELETE ke URL yang ditentukan, yang memberitahu Elasticsearch untuk menghapus indeks sampel.
Mendaftar semua Indeks
Untuk mengambil daftar semua indeks dalam instance Elasticsearch Anda, gunakan titik akhir _cat/indices dengan permintaan GET seperti ini:
curl -X GET 'https://localhost:9200/_cat/indices?v'
Responsnya akan mencantumkan semua indeks, termasuk kesehatan indeks, status, ukuran, dan jumlah dokumen.
Mengambil Dokumen dari Indeks
Untuk mengambil semua dokumen dari indeks tertentu, misalnya sampel, gunakan titik akhir _search:
curl -X GET 'https://localhost:9200/sample/_search'
Perintah ini mengambil semua dokumen yang disimpan dalam indeks sampel.
Mencari dengan Parameter URL
Anda dapat menggunakan sintaks kueri Lucene untuk pencarian teks dasar. Misalnya, jika Anda ingin mencari dokumen yang bidang sekolahnya adalah Harvard, Anda akan menggunakan:
curl -X GET https://localhost:9200/samples/_search?q=school:Harvard
Perintah ini mengirimkan permintaan GET ke titik akhir _search menggunakan parameter q untuk kueri.
Mencari dengan Elasticsearch Query DSL
Untuk kueri yang lebih kompleks, Anda mungkin lebih suka menggunakan DSL Kueri Elasticsearch, yang memungkinkan Anda menggunakan JSON untuk menentukan kueri. Format ini lebih mudah dibaca dan lebih mudah diakses untuk men-debug kueri yang kompleks.
Berikut ini contohnya:
curl -XGET --header 'Content-Type: application/json' https://localhost:9200/samples/_search -d '{
"query" : {
"match" : { "school": "Harvard" }
}
}'
Perintah ini melakukan hal yang sama seperti yang sebelumnya tetapi menggunakan JSON untuk definisi kueri. Dengan cara ini, perintahnya lebih mudah dibaca, terutama ketika berhadapan dengan pertanyaan yang lebih kompleks.
Menambah dan Memperbarui Dokumen
Untuk menambahkan dokumen baru ke indeks, Anda dapat menggunakan metode PUT bersama dengan titik akhir _doc. Misalnya, untuk menambahkan dokumen dengan ID 1 dan bidang sekolah Harvard ke indeks sampel, Anda akan menggunakan:
curl -XPUT --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1 -d '{
"school" : "Harvard"
}'
Untuk memperbarui dokumen, Anda dapat menggunakan metode POST dengan titik akhir _update. Misalnya, untuk menambahkan bidang siswa ke dokumen yang baru saja kita buat, Anda dapat menggunakan:
curl -XPOST --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1/_update -d '{
"doc" : {
"students": 50000}
}'
Perintah ini memberitahu Elasticsearch untuk memperbarui dokumen dengan ID 1 di indeks sampel, menambahkan bidang siswa dengan nilai 50000.
Perintah-perintah ini hanyalah contoh kecil dari apa yang dapat Anda capai dengan Elasticsearch. DSL Kueri Elasticsearch
Kelola Elasticsearch 8 di Debian 12, 11 atau 10
Segmen ini mempelajari proses penghapusan Elasticsearch 8 dari server Debian Linux Anda. Anda mungkin ingin melakukan ini karena beberapa alasan, seperti perangkat lunak tidak lagi sesuai dengan kebutuhan Anda atau Anda berencana beralih ke solusi alternatif. Apa pun alasan Anda, langkah-langkah yang diuraikan di bawah ini akan memandu Anda melalui proses tersebut.
Penghapusan Elasticsearch 8 Dari Debian
Menghapus Elasticsearch dari server Anda melibatkan perintah sederhana. Namun, ingatlah bahwa tindakan ini tidak dapat diubah dan akan menghapus semua data terkait. Inilah perintah untuk dijalankan:
sudo apt remove elasticsearch
Menjalankan perintah di atas akan secara efektif menghapus instalasi Elasticsearch, sehingga membebaskan sumber daya sistem yang dialokasikan sebelumnya.
Hapus Repositori APT Elasticsearch
Repositori Elasticsearch akan tetap ada di sistem Anda setelah penghapusan instalasi. Jika Anda yakin tidak akan menginstal ulang Elasticsearch di masa mendatang, Anda sebaiknya membuangnya untuk menghindari kekacauan yang tidak perlu.
Berikut cara menghapus repositori Elasticsearch:
sudo rm /etc/apt/sources.list.d/elasticsearch-8.list
Perintah di atas akan menghapus repositori Elasticsearch 8 dari server Debian Linux Anda.
Menyegarkan Daftar Repositori
Langkah terakhir adalah menyegarkan daftar paket apt. Langkah ini penting untuk memastikan sistem Anda tidak mempertimbangkan Elasticsearch 8 untuk pembaruan atau instalasi di masa mendatang.
Perintah untuk memperbarui daftar repositori Anda adalah sebagai berikut:
sudo apt update
Kesimpulan
Dengan Elasticsearch 8 berhasil diinstal pada sistem Debian Anda, Anda dapat memanfaatkan kemampuan pencarian dan analitik tingkat lanjut untuk mengelola dan menganalisis data Anda secara efisien. Perbarui Elasticsearch secara rutin untuk mendapatkan manfaat dari fitur terbaru dan peningkatan keamanan. Nikmati fungsionalitas canggih dari Elasticsearch 8.x, yang disesuaikan untuk memenuhi tuntutan manajemen data dan analitik modern.