GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Instal Elasticsearch di CentOS 8 / RHEL 8

Elasticsearch adalah mesin pencari sumber terbuka berdasarkan Apache Lucene, menawarkan mesin pencari teks lengkap yang didistribusikan secara real-time dengan antarmuka web HTTP dan dokumen JSON bebas skema.

Elasticsearch dikembangkan di Jawa. Versi open-source Elasticsearch dirilis di bawah Lisensi Apache 2.0, dan versi komersial dirilis di bawah Elastic License. Saat ini, ini adalah mesin pencari perusahaan paling populer setelah Apache Solr.

Posting ini akan membantu Anda menginstal Elasticsearch di CentOS 8 / RHEL 8.

Prasyarat

Elasticsearch dibuat menggunakan Java, dan paketnya menyertakan versi paket OpenJDK yang berarti Anda tidak perlu menginstal Java secara terpisah untuk instalasi Elasticsearch. OpenJDK yang dibundel terletak di dalam direktori JDK dari direktori home Elasticsearch /usr/share/elasticsearch.

Instal Java

Untuk menggunakan versi Java Anda sendiri, instal Java versi LTS dan setel variabel lingkungan JAVA_HOME di sistem Anda.

BACA :Cara Menginstal Java di CentOS 8 / RHEL 8

Verifikasi versi Java yang diinstal pada sistem.

java -version

Keluaran:

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Setel JAVA_HOME dengan perintah di bawah ini.

export JAVA_HOME=<JAVA_PATH>
Setelah Anda menginstal Elasticsearch di sistem Anda, atur Java_HOME di file /etc/sysconfig/elasticsearch agar Elasticsearch menggunakan versi Java khusus.

Setup Elasticsearch Repository

Elastic menawarkan paket biner (rpm) pra-bangun untuk RHEL dan turunannya. Unduh dan instal kunci penandatanganan publik Elastic.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Versi Gratis

Paket ini gratis untuk digunakan. Ini berisi open source, fitur komersial gratis dan berbayar. Ketika Anda menginstal sebuah paket, Anda akan menerima lisensi dasar. Anda dapat mengunjungi halaman berlangganan untuk mendaftar semua fitur yang disertakan dalam versi gratis dan komersial.

Anda dapat memulai uji coba 30 hari untuk mencoba semua fitur berbayar. Pada akhir masa percobaan, fitur komersial beroperasi dalam mode terdegradasi. Anda dapat mengembalikan lisensi ke lisensi dasar, memperpanjang uji coba, atau membeli langganan.

cat << EOF > /etc/yum.repos.d/elasticsearch.repo 
[elasticsearch-7.x]
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=1
autorefresh=1
type=rpm-md
EOF

Versi Sumber Terbuka

Paket ini gratis untuk digunakan dan hanya berisi fitur yang tersedia di bawah Lisensi Apache 2.0.

cat << EOF > /etc/yum.repos.d/elasticsearch.repo 
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Instal Elasticsearch

Instal Elasticsearch (v7.x) dengan menggunakan perintah berikut.

Versi Gratis

yum install -y elasticsearch

Versi Sumber Terbuka

yum install -y elasticsearch-oss

Aktifkan Elasticsearch untuk memulai secara otomatis selama startup sistem.

systemctl daemon-reload

systemctl enable elasticsearch

systemctl start elasticsearch

Setelah Anda memulai layanan Elasticsearch, tunggu setidaknya satu menit untuk memulai sepenuhnya. Jika tidak, pengujian akan gagal.

Elastisearch sekarang harus mendengarkan pada port 9200 untuk memproses permintaan HTTP. Gunakan curl untuk mendapatkan respons.

curl -X GET 'http://localhost:9200'

Anda akan mendapatkan respon seperti di bawah ini.

{
  "name" : "centos8.itzgeek.local",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "s6PwCJnoS7e7Pb3QMzkINg",
  "version" : {
    "number" : "7.4.0",
    "build_flavor" : "oss",
    "build_type" : "rpm",
    "build_hash" : "22e1767283e61a198cb4db791ea66e3f11ab9910",
    "build_date" : "2019-09-27T08:36:48.569419Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Konfigurasi Elasticsearch

File konfigurasi Elasticsearch dapat ditemukan di direktori /etc/elasticsearch/. elasticsearch.yml adalah file konfigurasi utama dari Elasticsearch, dan berisi pengaturan default untuk menjalankan cluster pengembangan. Log Elasticsearch disimpan di direktori /var/log/elasticsearch.

Nama Cluster

Cluster.name pengaturan digunakan untuk menemukan dan menggabungkan node secara otomatis dengan node lain. Jika sekelompok node Elasticsearch pada jaringan yang sama memiliki nama cluster yang sama, mereka akan menemukan satu sama lain dan membentuk sebuah cluster.

Ubah nama cluster default node Elasticsearch untuk menghindari auto-join dengan node lain di jaringan yang sama. Pastikan Anda menggunakan nama cluster yang unik.

Edit file elasticsearch.yml.

vi /etc/elasticsearch/elasticsearch.yml

Ganti els-cluster dengan nama cluster Elasticsearch Anda.

cluster.name: els-cluster

Nama Node

Node.name seperti nama host untuk server Elasticsearch, yang dihasilkan secara dinamis selama startup layanan. Anda dapat mengatur nama Node dengan memperbarui baris di bawah ini. Ganti els-cluster-node01 dengan nama node Elasticsearch Anda.

node.name: els-cluster-node01

Alamat Mendengarkan

Elasticsearch mengikat ke localhost (127.0.0.1)  dan mendengarkan pada nomor port 9200 untuk lalu lintas HTTP secara default. Ini menggunakan nomor port 9300 – 9400 untuk komunikasi antar node dalam cluster.

Untuk membentuk cluster Elasticsearch multinode atau membawa node Elasticsearch untuk penggunaan produksi agar aplikasi dapat mengakses node Elasticsearch, Anda perlu mengonfigurasi Elasticsearch untuk mendengarkan alamat IP sistem.

### Listening on particular IPv4 ###

network.host: 192.168.0.10

ATAU

### Listen on All IP Address ###

network.host: 0.0.0.0

Anda juga perlu memperbarui pengaturan di bawah ini dengan alamat IP sistem Anda.

discovery.seed_hosts: ["192.168.0.10"]

Mulai ulang layanan Elasticsearch.

systemctl restart elasticsearch

Setelah Anda memulai ulang layanan Elasticsearch, tunggu setidaknya satu menit agar Elasticsearch dapat dimulai sepenuhnya.

Periksa apakah Elasticsearch mendengarkan pada port 9200 pada semua alamat IP atau alamat IP tertentu dengan perintah netstat.

BACA: Perintah netstat tidak ditemukan di CentOS 8 / RHEL 8

 netstat -antup | grep -i 9200

Keluaran:

tcp6       0      0 :::9200                 :::*                    LISTEN      2143/java

Pastikan Nama Node dan Nama Cluster telah disetel dengan benar dengan menggunakan curl.

curl -X GET 'http://192.168.0.10:9200'

Anda akan mendapatkan respon seperti di bawah ini.

{
  "name" : "els-cluster-node01",
  "cluster_name" : "els-cluster",
  "cluster_uuid" : "s6PwCJnoS7e7Pb3QMzkINg",
  "version" : {
    "number" : "7.4.0",
    "build_flavor" : "oss",
    "build_type" : "rpm",
    "build_hash" : "22e1767283e61a198cb4db791ea66e3f11ab9910",
    "build_date" : "2019-09-27T08:36:48.569419Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Bekerja Dengan Elasticsearch

Mari tambahkan beberapa data ke Elasticsearch. Anda dapat menggunakan perintah curl untuk membaca, menambah, menghapus, dan memperbarui data ke Elasticsearch melalui port 9200 menggunakan RESTful API.

Dokumen disimpan dalam format berikut

Elasticsearch Indeks Jenis Dokumen Bidang

Indeks: Jamak dari indeks, tempat data Elasticsearch disimpan.

Jenis: Ini berisi banyak dokumen, dan itu seperti tipe data.

Dokumen: Ini berisi bidang data.

Bidang: Data sebenarnya.

Tambahkan Data

Gunakan perintah curl berikut untuk menambahkan data ke Elasticsearch kami.

curl -XPUT 'http://localhost:9200/itzgeek/howtos/1' -H 'Content-Type: application/json' -d '
{ 
    "Title" : "Install Elasticsearch On RHEL 8", 
    "Date"  : "May 2019", 
    "Tag"   : "RHEL"
}'

Anda akan mendapatkan respons berikut dengan "hasil":"dibuat."

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Dimana,

itzgeek: Indeks cluster Elasticsearch.

cara: Jenis dokumen

1: ID entri di bawah indeks howtos dan itzgeek.

Baca Data

Gunakan perintah berikut untuk mengkueri data di Elasticsearch.

curl -X GET 'http://localhost:9200/itzgeek/howtos/1'

Tambahkan ?pretty=true ke perintah di atas untuk mendapatkan output yang diformat.

curl -X GET 'http://localhost:9200/itzgeek/howtos/1?pretty=true'

Outputnya akan terlihat seperti di bawah ini.

{
  "_index" : "itzgeek",
  "_type" : "howtos",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "Title" : "Install Elasticsearch On RHEL 8",
    "Date" : "May 2019",
    "Tag" : "RHEL"
  }
}

Perbarui Data

Gunakan perintah berikut untuk memperbarui data.

curl -XPUT 'http://localhost:9200/itzgeek/howtos/1' -H 'Content-Type: application/json' -d '
{ 
    "Title" : "Install Elasticsearch On RHEL 8", 
    "Date"  : "May 2019", 
    "Tag"   : "RHEL"
}'

Tidak akan ada perubahan dalam Indeks, jenis, dan dokumen. Namun, kolom akan memiliki data yang dimodifikasi.

Responsnya akan terlihat seperti di bawah ini, berisi “_version”:2 dan “result”:”updated” yang artinya dokumen telah diperbarui.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":2,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1}

Hapus Data

Gunakan perintah berikut untuk menghapus dokumen.

curl -X DELETE 'http://localhost:9200/itzgeek/howtos/1'

Responnya akan terlihat seperti di bawah ini. Jika dokumen ditemukan, Anda akan mendapatkan "hasil":"dihapus".

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":3,"result":"deleted","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":1}

Jika dokumen tidak ditemukan, Anda akan mendapatkan “hasil”:”not_found”.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":4,"result":"not_found","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":3,"_primary_term":1}

Kesimpulan

Saya harap Anda mempelajari cara menginstal Elasticsearch di CentOS 8 / RHEL 8 dan menambahkan, membaca, menghapus, dan memperbarui data di Elasticsearch. Anda juga dapat menyiapkan cluster Elasticsearch multi-node untuk menangani data dalam jumlah besar.


Cent OS
  1. Cara Instal Oracle Java JDK 12/11/8 di CentOS 7 / RHEL 7

  2. Cara Instal Elasticsearch di CentOS 8 / RHEL 8

  3. Cara Menginstal Elasticsearch di CentOS/RHEL 8

  1. Cara Menginstal Gradle di CentOS 8/7 &RHEL 8/7

  2. Cara Instal Oracle Java 12/11/8 di CentOS 6 / RHEL 6

  3. Cara menginstal Graylog2 di CentOS 7 / RHEL 7

  1. Cara Menginstal Java 11 &12 di CentOS 7

  2. Cara Menginstal Java 8 &11 di Centos 8

  3. Cara menginstal phpMyAdmin di RHEL 8 / CentOS 8