Elasticsearch adalah software mesin pencarian open source dan analisis teks lengkap terdistribusi. Elasticsearch mendukung operasi RESTful dan memungkinkan Anda untuk menyimpan, mencari, dan menganalisis volume data yang besar secara real time.
Elasticsearch adalah salah satu mesin pencari paling populer yang memberdayakan aplikasi yang memiliki persyaratan pencarian kompleks seperti toko e-commerce besar dan aplikasi analitik.
Dalam tutorial ini, kita akan membahas bagaimana menginstal Elasticsearch di Debian 10.
Install Java
Elasticsearch adalah aplikasi Java, jadi langkah pertama adalah menginstal Java.
Jalankan yang berikut ini sebagai root atau user dengan hak sudo privilege untuk menginstal paket OpenJDK:
sudo apt install default-jdk
Verifikasi instalasi Java dengan mencetak versi Java:
java -version
Outputnya akan terlihat seperti ini:
openjdk version "11.0.6" 2020-01-14 OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1) OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)
Install Elasticsearch
Elasticsearch tidak tersedia di repositori Debian 10 standar. Kita akan menginstalnya dari repositori APT Elasticsearch.
Impor public key repositori menggunakan perintah wget
berikut:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Perintah di atas akan menampilkan OK
, yang berarti bahwa key telah berhasil diimpor, dan paket dari repositori ini akan dianggap tepercaya.
Tambahkan repositori Elasticsearch ke sistem dengan menjalankan:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Pada saat menulis artikel ini, versi terbaru dari Elasticsearch adalah 7.6
. Jika Anda ingin menginstal versi Elasticsearch sebelumnya, ubah 7.x
pada perintah di atas dengan versi yang Anda butuhkan.
Perbarui indeks paket dan install mesin Elasticsearch:
sudo apt update sudo apt install elasticsearch
Setelah proses instalasi selesai, mulai, dan aktifkan layanan:
sudo systemctl enable elasticsearch.service --now
Untuk memverifikasi bahwa Elasticsearch aktif, gunakan curl
untuk mengirim HTTP request ke port 9200 di localhost:
curl -X GET "localhost:9200/"
Outputnya akan terlihat seperti ini:
{ "name" : "debian10.localdomain", "cluster_name" : "elasticsearch", "cluster_uuid" : "yCOOHdvGT8mHRs5mNXQdDQ", "version" : { "number" : "7.6.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "aa751e09cd0a5072e8570670309d2f12348f023b", "build_date" : "2020-02-29T00:15:25.519771Z", "build_snapshot" : false, "lucene_version" : "8.4.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Diperlukan waktu 5-10 detik untuk memulai layanan. Jika Anda melihat curl: (7) Failed to connect to localhost port 9200: Connection refused
, tunggu beberapa detik dan coba lagi.
Untuk melihat pesan yang dicatat oleh layanan Elasticsearch, gunakan perintah berikut:
sudo journalctl -u elasticsearch
Pada poin ini, Elasticsearch telah diinstal di server Debian Anda.
konfigurasi Elasticsearch di Debian 10
Data elasticsearch disimpan di direktori /var/lib/elasticsearch
, file konfigurasi terletak di /etc/elasticsearch
dan opsi start-up Java dapat dikonfigurasi dalam file /etc/default/elasticsearch
.
Secara default, Elasticsearch dikonfigurasikan untuk listen di localhost saja. Jika klien yang terhubung ke database juga berjalan di host yang sama dan Anda sedang mengatur satu cluster node, Anda tidak perlu mengubah file konfigurasi default.
Remote Access
Elasticsearch tidak menerapkan otentikasi, sehingga dapat diakses oleh siapa saja yang dapat mengakses HTTP API. Jika ingin memperbolehkan akses jarak jauh ke server Elasticsearch, Anda perlu mengkonfigurasi firewall dan mengizinkan akses ke port Elasticsearch 9200
hanya dari klien terpercaya saja.
Misalnya, jika Anda menggunakan UFW dan Anda hanya ingin mengizinkan koneksi hanya dari 192.168.121.80
, masukkan perintah berikut:
sudo ufw allow from 192.168.100.20 to any port 9200
Jangan lupa untuk mengubah 192.168.100.20
dengan Alamat IP jarak jauh Anda. Setelah firewall dikonfigurasi, langkah selanjutnya adalah mengedit konfigurasi Elasticsearch dan mengizinkan Elasticsearch listen pada koneksi eksternal.
sudo nano /etc/elasticsearch/elasticsearch.yml
Cari dan hilangkan tanda #
pada network.host
, dan ubah nilainya menjadi 0.0.0.0
:
network.host: 0.0.0.0
Jika memiliki beberapa interfaces jaringan pada mesin Anda, tentukan alamat IP interfaces untuk memaksa Elasticsearch hanya listen pada interface yang diberikan.
Restart layanan Elasticsearch agar perubahan diterapkan:
sudo systemctl restart elasticsearch
Anda sekarang dapat terhubung ke server Elasticsearch dari lokasi jarak jauh.
Kesimpulan
Kami telah menunjukkan kepada Anda cara menginstal Elasticsearch pada Debian 10.
Untuk mempelajari lebih lanjut, kunjungi halaman dokumentasi resmi Elasticsearch.