Elasticsearch adalah mesin pencari dan analitik terdistribusi yang dibangun di atas Apache Lucene. Ini menyediakan mesin pencari teks lengkap berkemampuan multitenant yang terdistribusi dengan antarmuka web HTTP dan dokumen JSON bebas skema. Elasticsearch dengan cepat menjadi mesin telusur paling populer dan biasanya digunakan untuk analisis log, penelusuran teks lengkap, intelijen keamanan, analisis bisnis, dan kasus penggunaan intelijen operasional.
Konten Terkait
- Cara Menginstal dan Mengonfigurasi Elasticsearch di Ubuntu 20.04
- Cara Menginstal dan Mengonfigurasi Elasticsearch di Debian 11
- Menggunakan Ansible untuk menginstal dan mengkonfigurasi Elasticsearch di Ubuntu 20.04
Prasyarat
Untuk mengikuti, pastikan Anda memiliki:
- Server Rock Linux8 yang diperbarui dengan setidaknya 2 GB RAM dan 2 inti
- Akses root ke server atau pengguna dengan akses sudo
- Akses ke internet dari server
Daftar Isi
- Pastikan server terbaru
- Menginstal Java di server
- Impor kunci gpg elasticsearch
- Instal Elasticsearch dari RPM Repo
- Mulai dan aktifkan layanan Elasticsearch
- Verifikasi pemasangan Elasticsearch
- Melakukan operasi sederhana dengan Elasticsearch
1. Memastikan bahwa server sudah diperbarui
Sebelum melanjutkan, izinkan kami memastikan bahwa server kami mutakhir dan semua paket adalah versi terbaru. Gunakan perintah ini untuk mencapai ini:
sudo dnf -y update
Jika ada paket yang perlu ditingkatkan, perintah di atas mungkin memerlukan waktu beberapa menit.
2. Instal Java di server
Elasticsearch bergantung pada Java untuk dijalankan. Instal runtime java 11
sudo dnf install java-11-openjdk
Verifikasi versi yang diinstal.
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Impor Kunci GPG Elasticsearch
Elasticsearch menandatangani semua paket kami dengan Elasticsearch Signing Key (kunci PGP D88E42B4, tersedia dari https://pgp.mit.edu) dengan sidik jari:
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Unduh dan pasang kunci penandatanganan publik:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
4. Instal Elasticsearch dari repositori RPM
Buat file bernama elasticsearch.repo
di /etc/yum.repos.d/
. Gunakan editor teks Anda untuk membuka file:
sudo vim /etc/yum.repos.d/elasticsearch.repo
Kemudian tambahkan konten berikut:
[elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
Dan repositori Anda siap digunakan. Anda sekarang dapat menginstal Elasticsearch.
Gunakan perintah ini untuk menginstal elasticsearch
sudo dnf install --enablerepo=elasticsearch -y elasticsearch
Konfirmasi
$ rpm -qi elasticsearch
Name : elasticsearch
Epoch : 0
Version : 7.16.3
Release : 1
Architecture: x86_64
Install Date: Fri 14 Jan 2022 09:21:53 AM UTC
Group : Application/Internet
Size : 517226057
License : Elastic License
Signature : RSA/SHA512, Fri 07 Jan 2022 02:57:25 AM UTC, Key ID d27d666cd88e42b4
Source RPM : elasticsearch-7.16.3-1-src.rpm
Build Date : Thu 06 Jan 2022 11:49:11 PM UTC
Build Host : packer-virtualbox-iso-1636998457
Relocations : /usr
Packager : Elasticsearch
Vendor : Elasticsearch
URL : https://www.elastic.co/
Summary : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
5. Mulai dan aktifkan layanan Elasticsearch
Layanan Elasticsearch tidak akan dimulai secara default. Gunakan perintah ini untuk memulai:
sudo systemctl start elasticsearch
Konfirmasi status layanan menggunakan perintah ini:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2022-01-14 09:22:41 UTC; 16min ago
Docs: https://www.elastic.co
Main PID: 68286 (java)
Tasks: 64 (limit: 23176)
Memory: 2.2G
CGroup: /system.slice/elasticsearch.service
├─68286 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=tr>
└─68485 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Jan 14 09:22:18 dev-rockysrv.inv.re systemd[1]: Starting Elasticsearch...
Jan 14 09:22:41 dev-rockysrv.inv.re systemd[1]: Started Elasticsearch.
Output di atas menunjukkan bahwa layanan aktif dan berjalan. Aktifkan layanan menggunakan perintah ini:
sudo systemctl enable elasticsearch
Jika Elasticsearch gagal memulai karena alasan apa pun, itu akan mencetak alasan kegagalan ke STDOUT. File log dapat ditemukan di /var/log/elasticsearch/
.
Secara default, layanan Elasticsearch tidak mencatat informasi di systemd
jurnal. Untuk mengaktifkan journalctl
logging, --quiet
opsi harus dihapus dari ExecStart
baris perintah di elasticsearch.service
berkas.
Saat systemd
logging diaktifkan, informasi logging tersedia menggunakan journalctl
perintah:
Untuk mengekor jurnal:
sudo journalctl -f
Untuk membuat daftar entri jurnal untuk layanan elasticsearch:
sudo journalctl --unit elasticsearch
Untuk membuat daftar entri jurnal untuk layanan elasticsearch mulai dari waktu tertentu:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
6. Verifikasi Instalasi Elasticsearch
Pada titik ini, ElasticSearch dimulai dan mendengarkan pada port 9200. Anda dapat memeriksanya dengan perintah berikut:
ss -antpl | grep 9200
Anda akan melihat output berikut:
$ ss -antpl | grep 9200 LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* LISTEN 0 128 [::1]:9200 [::]:*
Anda juga dapat memverifikasi ElasticSearch dengan perintah berikut.
curl -X GET "localhost:9200/"
keluaran:
$ curl -X GET "localhost:9200/"
{
"name" : "dev-rockysrv.inv.re",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "td67jm-zSvKlKsnP4sIrxw",
"version" : {
"number" : "7.16.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
"build_date" : "2022-01-06T23:43:02.825887787Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
7. Melakukan operasi sederhana dengan Elasticsearch
Anda dapat menggunakan perintah Curl untuk menambahkan data ke ElasticSearch seperti yang ditunjukkan di bawah ini:
curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/todo/task/1' -d '{ "name": "Go to the mall." }'
Anda akan melihat output berikut:
{"_index":"todo","_type":"task","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
Anda sekarang dapat mengambil data Anda menggunakan permintaan GET:
curl -X GET 'http://localhost:9200/todo/task/1'
Anda akan melihat output berikut:
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
Untuk mengambil data dalam format yang dapat dibaca manusia, jalankan perintah berikut:
curl -X GET 'http://localhost:9200/todo/task/1?pretty'
Anda akan mendapatkan output berikut:
{ "_index" : "todo", "_type" : "task", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "name" : "Go to the mall." } }
Kesimpulan
Itu dia. Dalam panduan ini, kami mempelajari cara menginstal dan menggunakan ElasticSearch di server Rocky Linux 8. Sekarang Anda dapat dengan mudah menambahkan, membaca, menghapus, dan memperbarui data di Elasticsearch.