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 9.

Prasyarat

Anda harus masuk sebagai user dengan hak sudo untuk dapat menginstal paket pada sistem Debian 9.

Cara Install Elasticsearch di Debian 9

Cara termudah untuk menginstal Elasticsearch di Debian 9 adalah dengan menginstal paket deb dari repositori resmi Elasticsearch.

Pada saat penulisan artikel ini, versi terbaru dari Elasticsearch adalah 7.0.0 dan membutuhkan Java 8 untuk diinstal pada sistem.

Mulai dengan memperbarui indeks paket dan menginstal paket apt-transport-https yang diperlukan untuk mengakses repositori melalui HTTPS:

sudo apt update
sudo apt install apt-transport-https

Langkah selanjutnya adalah Install OpenJDK 8 dengan perintah berikut :

sudo apt install openjdk-8-jdk

Verifikasi instalasi Java dengan menjalankan perintah berikut yang akan mencetak versi Java:

java -version

Outputnya akan terlihat seperti ini: (mungkin bervariasi)

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

Sekarang Java sudah diinstal, langkah selanjutnya adalah menambahkan repositori Elasticsearch.

Impor GPG 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 kunci telah berhasil diimpor dan paket dari repositori ini akan dianggap tepercaya.

Selanjutnya, tambahkan repositori Elasticsearch ke sistem dengan perintah berikut :

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

Jika ingin menginstal versi Elasticsearch sebelumnya, ubah 7.x pada perintah di atas dengan versi yang Anda butuhkan.

Setelah repositori diaktifkan, perbarui indeks paket apt dan instal Elasticsearch dengan mengetik:

sudo apt update
sudo apt install elasticsearch

Layanan Elasticsearch tidak akan mulai secara otomatis setelah proses instalasi selesai. Untuk memulai layanan dan mengaktifkan layanan:

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Anda dapat memverifikasi bahwa Elasticsearch sedang berjalan dengan mengirimkan permintaan HTTP ke port 9200 di localhost dengan perintah curl berikut:

curl -X GET "localhost:9200/"

Anda akan melihat tampilan yang mirip output berikut ini:

{
  "name" : "stretch",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Nj3W4PswPuWvJU8JG6511Q",
  "version" : {
    "number" : "7.0.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "b7e28a7",
    "build_date" : "2019-04-05T22:35:31.697037Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.7.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Diperlukan waktu 5-10 detik untuk memulai layanan. Jika melihat output curl: (7) Failed to connect to localhost port 9200: Connection refused, tunggu beberapa detik dan coba lagi.

Jika ingin melihat pesan yang di-log oleh layanan Elasticsearch, Anda dapat menggunakan perintah di bawah ini:

sudo journalctl -u elasticsearch

Pada poin ini, Anda telah berhasil melakukan instalasi elasticsearch di Debian 9

Konfigurasi Elasticsearch di Debian 9

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 Akses Elasticsearch di Debian 9

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 teepercaya saja.

Ubuntu memiliki alat konfigurasi firewall bawaan sistem operasi yang disebut UFW. Secara default, UFW diinstal tetapi tidak diaktifkan. Sebelum mengaktifkan firewall UFW, pertama-tama tambahkan aturan yang akan memungkinkan koneksi SSH yang masuk:

sudo ufw allow 22

Izinkan nilai dari alamat IP tepercaya jarak jauh:

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.

Aktifkan UFW dengan mengetik:

sudo ufw enable

Terakhir, Cek dan verifikasi status firewall dengan :

sudo ufw status

output dari perintah di atas akan terlihat seperti berikut

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
9200                       ALLOW       192.168.100.20
22 (v6)                    ALLOW       Anywhere (v6)

Setelah firewall dikonfigurasi, langkah selanjutnya adalah mengedit konfigurasi Elasticsearch dan mengizinkan Elasticsearch listen pada koneksi eksternal.

Untuk melakukannya, buka file konfigurasi elasticsearch.yml:

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

Restart layanan Elasticsearch agar perubahan diterapkan:

sudo systemctl restart elasticsearch

Sekarang Anda dapat terhubung ke server Elasticsearch dari lokasi manapun selama ada koneksi Internet.

Kesimpulan

Anda telah berhasil menginstal Elasticsearch di Debian 9. Langkah selanjutnya adalah mengunjungi halaman resmi Dokumentasi Elasticsearch dan belajar bagaimana memulai dengan Elasticsearch.