Elasticsearch adalah mesin analitik dan pencarian teks lengkap terdistribusi open-source. Ini 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 mendukung aplikasi yang memiliki persyaratan pencarian yang kompleks seperti toko e-commerce besar dan aplikasi analitik.
Panduan ini menjelaskan cara menginstal Elasticsearch di Ubuntu 20.04.
Menginstal Elasticsearch #
Menginstal Elasticsearch di Ubuntu cukup mudah. Kami akan mengaktifkan repositori Elasticsearch, mengimpor kunci GPG repositori, dan menginstal server Elasticsearch.
Paket Elasticsearch dikirimkan dengan versi paket OpenJDK, jadi Anda tidak perlu menginstal Java.
Pertama, perbarui indeks paket dan instal dependensi yang diperlukan untuk menambahkan repositori HTTPS baru:
sudo apt update
sudo apt install apt-transport-https ca-certificates wget
Impor kunci GPG repositori:
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 mengeluarkan:
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 Anda ingin menginstal versi Elasticsearch sebelumnya, ubah 7.x
pada perintah di atas dengan versi yang Anda butuhkan. Setelah repositori diaktifkan, instal Elasticsearch dengan mengetik:
sudo apt update
sudo apt install elasticsearch
Layanan Elasticsearch tidak akan dimulai secara otomatis setelah proses instalasi selesai. Untuk memulai layanan dan mengaktifkan layanan, jalankan:
sudo systemctl enable --now elasticsearch.service
Untuk memverifikasi bahwa Elasticsearch berjalan, gunakan curl
untuk mengirim permintaan HTTP ke port 9200
di localhost:
curl -X GET "localhost:9200/"
Anda akan melihat sesuatu yang mirip dengan ini:
{
"name" : "vagrant",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "IJqDxPfXSrmFQ27KbXbRIg",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Mungkin 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
Itu dia. Elasticsearch telah diinstal di server Ubuntu Anda.
Mengonfigurasi Elasticsearch #
Data Elasticsearch disimpan di /var/lib/elasticsearch
direktori. File konfigurasi terletak di /etc/elasticsearch
dan opsi start-up Java dapat dikonfigurasi di /etc/default/elasticsearch
berkas.
Secara default, Elasticsearch dikonfigurasi untuk mendengarkan di localhost saja. Jika klien yang terhubung ke database juga berjalan di host yang sama dan Anda menyiapkan kluster node tunggal, Anda tidak perlu mengubah file konfigurasi default.
Akses Jarak Jauh #
Out of box Elasticsearch, tidak menerapkan autentikasi, sehingga dapat diakses oleh siapa saja yang dapat mengakses HTTP API.
Untuk mengizinkan akses jarak jauh ke server Elasticsearch, Anda perlu mengonfigurasi firewall dan membuka port TCP 6379.
Biasanya, Anda ingin mengizinkan akses ke server Redis hanya dari alamat IP atau rentang IP tertentu. Misalnya, untuk mengizinkan koneksi hanya dari 192.168.121.0/24
subnet, Anda akan menjalankan perintah berikut:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
Setelah firewall dikonfigurasi, langkah selanjutnya adalah mengedit konfigurasi Elasticsearch dan mengizinkan Elasticsearch untuk mendengarkan koneksi eksternal.
Untuk melakukannya, buka elasticsearch.yml
file konfigurasi:
sudo nano /etc/elasticsearch/elasticsearch.yml
Cari baris yang berisi network.host
, batalkan komentarnya, dan ubah nilainya menjadi 0.0.0.0
:
network.host: 0.0.0.0
Jika Anda memiliki beberapa antarmuka jaringan di mesin Anda, tentukan alamat IP antarmuka untuk memaksa Elasticsearch hanya mendengarkan antarmuka yang diberikan.
Mulai ulang layanan Elasticsearch agar perubahan diterapkan:
sudo systemctl restart elasticsearch
Itu dia. Sekarang Anda dapat terhubung ke server Elasticsearch dari lokasi yang jauh.