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 Ubuntu 18.04. Instruksi yang sama berlaku untuk Ubuntu 16.04 dan distribusi berbasis Ubuntu, termasuk Linux Mint, Kubuntu dan Elementary OS.
Prasyarat
Anda harus masuk sebagai user dengan hak sudo untuk dapat menginstal paket pada sistem Ubuntu 18.04.
Cara Install Elasticsearch di Ubuntu 18.04
Cara termudah untuk menginstal Elasticsearch di Ubuntu 18.04 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_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, 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" : "kwEpA2Q", "cluster_name" : "elasticsearch", "cluster_uuid" : "B-5B24LXZFqDeIYaSgD5ww", "version" : { "number" : "7.0.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "b7e28a7", "build_date" : "2019-04-05T22:55:32.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 Ubuntu 18.04
Konfigurasi Elasticsearch di Ubuntu 18.04
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 Ubuntu 18.04
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 Ubuntu 18.04. Langkah selanjutnya adalah mengunjungi halaman resmi Dokumentasi Elasticsearch dan belajar bagaimana memulai dengan Elasticsearch.