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.