Berikut panduan tentang cara memasang Elasticsearch 7 terbaru di Debian 11. Elasticsearch adalah alat mesin analitik dan pencarian teks lengkap sumber terbuka yang kuat yang digunakan untuk menyimpan, mencari, dan menganalisis volume data yang besar hampir secara real-time.
Paket yang tersedia di repositori upstream Debian tidak menjamin rilis terbaru. Untuk alasan ini, kami akan menambahkan repositori Elasticsearch ke mesin Debian kami sebelum menarik rilis terbaru dari Elasticsearch 7.x.
Instal Elasticsearch 7 di Debian 11
Kita akan menginstal versi gratis yang dirilis di bawah lisensi Elastic. Lihat halaman Langganan untuk informasi tentang tingkat lisensi Elastic. Mari kita mulai dengan menambahkan URL repositori ke sistem.
Langkah 1: Perbarui sistem Anda
Sebelum instalasi, perbaharui dahulu packages index:
user@saksenengku:~# sudo apt update
Langkah 2: Impor Kunci PGP Elasticsearch
Mulailah dengan mengimpor Kunci Penandatanganan Elasticsearch yang digunakan untuk memverifikasi paket Elastis.
user@saksenengku:~# sudo apt -y install gnupg2 user@saksenengku:~# curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/elastic.gpg
Langkah 3: Tambahkan repositori APT Elasticsearch
Selanjutnya, kami menambahkan repositori APT Elasticsearch dari mana kami akan mengunduh dan menginstal paket.
Untuk Elasticsearch 7.x:
user@saksenengku:~# sudo apt -y install apt-transport-https user@saksenengku:~# echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
Langkah 4: Instal paket Elasticsearch 7
Kemudian instal paket Elasticsearch on Debian dengan menjalankan perintah di bawah ini:
user@saksenengku:~# sudo apt update user@saksenengku:~# sudo apt install elasticsearch-oss
Setelah penginstalan, file konfigurasi default akan diisi ke /etc/elasticsearch/elasticsearch.yml. Ubah file ini sesuai keinginan Anda.
Misalnya, Anda dapat menyetel nama cluster yang benar untuk aplikasi Anda:
cluster.name: saksenengku
Perhatikan bahwa set memori minimum default untuk JVM adalah 2gb, jika server Anda memiliki ukuran memori yang kecil, ubah nilai ini:
user@saksenengku:~# sudo nano /etc/elasticsearch/jvm.options
Ganti:
-Xms2g -Xmx2g
Dan tetapkan nilai Anda untuk alokasi memori minimum dan maksimum. Misalnya untuk menyetel nilai ke ram 512mb, gunakan:
-Xms512m -Xmx512m
Perhatikan bahwa sebaiknya setel ukuran heap JVM min dan maks ke nilai yang sama. Xms mewakili ukuran awal total ruang heap dan Xmx mewakili ukuran maksimum total ruang heap.
Langkah 5: Mulai Layanan Elasticsearch
Setelah Anda mengubah konfigurasi, Anda dapat memulai Elasticsearch:
user@saksenengku:~# sudo systemctl enable elasticsearch.service && sudo systemctl restart elasticsearch.service
Check elasticsearch service status:
user@saksenengku:~# sudo systemctl status elasticsearch.service ● elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-12-13 19:49:08 WIB; 33s ago Docs: https://www.elastic.co Main PID: 320709 (java) Tasks: 83 (limit: 319014) Memory: 1.2G CPU: 40.825s CGroup: /system.slice/elasticsearch.service └─320709 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negativ> Dec 13 19:48:58 development systemd[1]: Starting Elasticsearch... Dec 13 19:49:08 development systemd[1]: Started Elasticsearch...
Anda telah berhasil menginstal Elasticsearch 7.x di Debian 11 Linux. Anda selanjutnya harus membaca Dokumentasi Elasticsearch resmi, untuk mempelajari tentang penggunaan dunia nyata dalam proyek Anda.
Setel ulang kata sandi pengguna super bawaan elastis:
user@saksenengku:~# sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i This tool will reset the password of the [elastic] user. You will be prompted to enter the password. Please confirm that you would like to continue [y/N] y Enter password for [elastic]: Re-enter password for [elastic]: Password for the [elastic] user successfully reset.
Kemudian jalankan perintah berikut untuk melihat apakah Elasticsearch merespons queries:
user@saksenengku:~# sudo curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200 Enter host password for user 'elastic': { "name" : "saksenengku.com", "cluster_name" : "saksenengku", "cluster_uuid" : "2zYWJEV_Rb2VCKySbj77AQ", "version" : { "number" : "7.10.2", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9", "build_date" : "2021-01-13T00:42:12.435326Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Hasil ini menegaskan bahwa Elasticsearch berfungsi penuh.
Apabila terjadi “Service Start Operation Timed Out”
Apabila terjadi error msg sbb:
Warning: The unit file, source configuration file or drop-ins of elasticsearch.service changed on disk. Run 'systemctl daemon-reload' to reload units. ● elasticsearch.service - Elasticsearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled) Active: failed (Result: timeout) since Tue 2022-12-08 09:18:55 CST; 24min ago Docs: https://www.elastic.co Process: 889 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet (code=killed, signal=TERM) Main PID: 889 (code=killed, signal=TERM) Tasks: 0 (limit: 3570) CGroup: /system.slice/elasticsearch.service Dec 08 09:17:40 terrylin systemd[1]: Starting Elasticsearch... Dec 08 09:18:55 terrylin systemd[1]: elasticsearch.service: Start operation timed out. Terminating. Dec 08 09:18:55 terrylin systemd[1]: elasticsearch.service: Failed with result 'timeout'. Dec 08 09:18:55 terrylin systemd[1]: Failed to start Elasticsearch.
Sousinya sebagai berikut:
Ubah konfigurasi ElasticSearch dan Edit file konfigurasi layanan ElasticSearch.
user@saksenengku:~# sudo nano /usr/lib/systemd/system/elasticsearch.service
TimeoutStartSec mengonfigurasi waktu untuk menunggu start-up. Standarnya adalah 75 sec, tingkatkan nilai ini ke nilai yang tepat, dalam kasus saya, saya atur ke 500 sec.
Simpan file dan kemudian muat ulang konfigurasi systemd manager.
Muat ulang systemctl
user@saksenengku:~# sudo systemctl daemon-reload
Periksa nilai timeout untuk start-up.
user@saksenengku:~# sudo systemctl show elasticsearch | grep ^Timeout TimeoutStartUSec=8min 20s TimeoutStopUSec=infinity TimeoutAbortUSec=infinity TimeoutStartFailureMode=terminate TimeoutStopFailureMode=terminate TimeoutCleanUSec=infinity
Langkah 6: Pengechekan Elasticsearch
Setelah instalasi selesai kalian dapat menggunakan Curl untuk mengakses http://localhost:9200/ seperti pada gambar berikut:
user@saksenengku:~# curl -XGET http://localhost:9200/?pretty=true { "name" : "saksenengku.com", "cluster_name" : "saksenengku", "cluster_uuid" : "un4_u-zvQJmYN2j7o-L-Og", "version" : { "number" : "7.10.2", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9", "build_date" : "2021-01-13T00:42:12.435326Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Untuk membuat sebuah indeks baru dapat menggunakan format seperti berikut:
PUT localhost:9200/nama_indeks
Selamat mencoba…