GNU/Linux >> Belajar Linux >  >> Linux

Cara menginstal dan mengkonfigurasi Elasticsearch di Ubuntu 18.04

Elasticsearch adalah mesin pencari sumber terbuka dan gratis, berdasarkan Apache Lucene dan dilengkapi dengan kemampuan Teks Lengkap dan dukungan untuk arsitektur terdistribusi. Ini adalah solusi lama di bidang analisis data waktu nyata.

Dalam tutorial ini Anda akan menemukan semua langkah yang diperlukan untuk membuat dan mengonfigurasi server Elasticsearch di Linux Ubuntu 18.04.

Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.

Instalasi Java

Sebelum melanjutkan instalasi Elasticsearch, instal Java Development Kit. Untuk melakukannya, ikuti panduan kami tentang cara menginstal Java di Ubuntu 18.04. Jika JDK sudah terinstal di sistem Anda, lewati langkah ini.

Instalasi Elasticsearch

Paket instalasi dapat diunduh langsung dari situs web Elastic:

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-amd64.deb

Setelah selesai mengunduh, lanjutkan dengan menginstal paket:

$ sudo dpkg -i elasticsearch-7.3.2-amd64.deb

Kemudian, lanjutkan dengan menginstal dan memulai layanan melalui:

$ sudo systemctl enable elasticsearch.service
$ sudo systemctl start elasticsearch.service

Konfigurasi firewall

Dalam kasus firewall pada sistem, mungkin perlu untuk mengizinkan lalu lintas ke layanan Elasticsearch, dengan mengaktifkan port yang sesuai.

Saat menggunakan firewall UFW, ketik perintah ini untuk membuka kunci port Elasticsearch default:

$ sudo ufw allow 9200

Pada titik ini, firewall akan mengizinkan koneksi pada port 9200.

Memeriksa status layanan

Verifikasi apakah layanan sedang berjalan dan periksa port TCP yang sedang mendengarkan, dengan menjalankan:

$ netstat -a -o -n | grep LISTEN

Kemudian, port listening 9200 dan 9300 seperti yang akan terlihat, sebagai berikut:

tcp        0 0 127.0.0.53:53           0.0.0.0:* LISTEN   off (0.00/0/0)

tcp        0 0 0.0.0.0:22              0.0.0.0:* LISTEN   off (0.00/0/0)

tcp6       0 0 127.0.0.1:9200          :::* LISTEN   off (0.00/0/0)

tcp6       0 0 ::1:9200                :::* LISTEN   off (0.00/0/0)

tcp6       0 0 127.0.0.1:9300          :::* LISTEN   off (0.00/0/0)

tcp6       0 0 ::1:9300                :::* LISTEN   off (0.00/0/0)

Menggunakan Elasticsearch

Sekarang setelah layanan berjalan, gunakan pengujian dengan memasukkan data dan memeriksa apakah nanti ditemukan.

N.B. Jika Anda menggunakan server jarak jauh, ganti localhost dengan alamat IP server Anda dengan perintah di bawah ini.

Dalam contoh ini, masukkan 3 produk komersial:

$ curl -POST 'http://localhost:9200/products/1' -curl -H 'Content-Type: application/json' -d '

{

    "name": "Coffe Machine 1",

    "uuid": "00000010"

}'

Dengan melakukan panggilan di atas, dokumen baru akan dimasukkan ke dalam indeks "produk" dengan atribut "nama" yang sesuai dengan "Mesin Kopi 1" dan dengan pengenal "uuid":

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

Elasticsearch akan merespon seperti yang ditunjukkan di atas, dengan menentukan id produk yang dimasukkan dan data pelaporan lainnya.

Kemudian dilanjutkan dengan memasukkan 2 produk lainnya:

$ curl -POST 'http://localhost:9200/index/products' -curl -H 'Content-Type: application/json' -d '

{

    "name": "White Desk",

    "uuid": "WD000010"

}'
                $ curl -POST 'http://localhost:9200/index/products' -curl -H 'Content-Type: application/json' -d '

{

    "name": "Black Desk",

    "uuid": "WD000011"

}'

Setelah selesai, Anda dapat melanjutkan dengan melakukan pencarian pertama yang menunjukkan "Meja" sebagai parameter pencarian :

$ curl -X GET "http://localhost:9200/index/_search?q=Desk*&pretty"

Seperti yang Anda lihat, diperoleh 2 hasil, termasuk dua meja yang disisipkan di atas:

{

    ...

    "hits" : [

      {

        ….

        "_source" : {

          "name" : "White Desk",

          "uuid" : "WD000010"

        }

      },

      {

        ...

        "_score" : 1.0,

        "_source" : {

          "name" : "Black Desk",

          "uuid" : "WD000011"

        }

      }

    ]

  }

}

Konfigurasi Elastisearch

Semua file konfigurasi Elasticsearch ada di direktori /etc/elasticsearch. File yang paling penting adalah elasticsearch.yml yang memungkinkan untuk mengubah parameter operasi dasar sistem, seperti informasi cluster, parameter koneksi TCP / IP atau folder tempat menyimpan data.

Semua file konfigurasi yang ada menggunakan format YAML, jadi saat mengedit file ini, perhatikan indentasinya.

Meningkatkan keamanan

Salah satu hal pertama yang harus dilakukan untuk meningkatkan keamanan layanan adalah membatasi koneksi masuk, hanya menerima koneksi lokal. Dengan cara ini, hanya aplikasi Anda di server yang dapat menggunakan layanan ini.

Untuk mengubah kartu pendengar, ubah file /etc/elasticsearch/elasticsearch.yml dengan menghapus komentar dan mengubah baris berikut:

…

network.host: 127.0.0.1

...

Simpan file dan mulai ulang layanan untuk menerapkan perubahan:

$ sudo systemctl restart elasticsearch.service

Tunggu beberapa menit dan periksa apakah layanan hanya mendengarkan pada antarmuka lokal dengan meluncurkan:

$ netstat -a -o -n | grep LISTEN

Agar layanan tetap tersedia juga untuk penggunaan eksternal, selalu mungkin mengubah port mendengarkan untuk menyembunyikan keberadaan Elasticsearch.

Edit file konfigurasi utama /etc/elasticsearch/elasticsearch.yml:

…

#

# Set the bind address to a specific IP (IPv4 or IPv6):

#

network.host: 0.0.0.0

#

# Set a custom port for HTTP:

#

http.port: 2900

...

NB Alih-alih 2900 pintu, pintu lain dapat dimasukkan.

Setelah menyimpan file, restart layanan:

$ sudo systemctl restart elasticsearch.service

Untuk memeriksa status layanan, setelah menerapkan perubahan, selalu gunakan netstat:

$ netstat -a -o -n | grep LISTEN

Linux
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Elasticsearch di Ubuntu 20.04

  3. Bagaimana Cara Menginstal dan Mengonfigurasi Fail2ban di Ubuntu?

  1. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

  3. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04