Apache Solr atau Solr adalah platform pencarian sumber terbuka dan gratis berdasarkan pustaka Apache Lucene. Solr adalah singkatan dari Searching On Lucene with Replication, ini adalah platform pencarian tingkat perusahaan yang ditulis dalam Java.
Solr adalah platform pencarian yang sangat skalabel dan andal dengan pengindeksan yang toleran terhadap kesalahan dan terdistribusi. Selain itu, ia hadir dengan replikasi dan failover dan pemulihan otomatis.
Dalam kebanyakan kasus, Solr digunakan untuk membangun aplikasi tingkat perusahaan yang memberikan kinerja tinggi. Solr digunakan oleh beberapa situs internet besar seperti Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram, dll.
Dalam panduan ini, Anda akan belajar cara menginstal Apache Solr pada sistem Rocky Linux, mengaktifkan otentikasi dasar Solr, mengatur batas maksimum file terbuka dan batas proses maksimum untuk penerapan Solr, dan cara membuat inti Solr pertama dari baris perintah.
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki persyaratan berikut:
- Sistem Operasi:Rocky Linux 8.5 (Green Obsidian)
- Memori:2 GB untuk pengujian
- CPU:2
- Hak istimewa root
Sekarang mari kita mulai.
Menginstal Java OpenJDK
Untuk menginstal Solr pada sistem Linux, Anda memerlukan setidaknya Java OpenJDK 1.8 atau lebih tinggi. Rocky Linux menyediakan beberapa versi Java OpenJDK, dan dalam contoh ini, Anda akan menginstal Java OpenJDK 1.11 untuk instalasi Solr.
1. Jalankan perintah DNF di bawah ini untuk menginstal Java OpenJDK 1.11 pada sistem Rocky Linux.
sudo dnf install java-11-openjdk java-11-openjdk-devel
Ketik 'y ' untuk mengonfirmasi pemasangan dan tekan 'Enter ' untuk melanjutkan.
2. Jika instalasi java selesai, verifikasi instalasi Anda menggunakan perintah berikut.
java --version
Di bawah ini adalah output serupa yang akan Anda dapatkan.
openjdk 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)
Anda telah menyelesaikan instalasi Java OpenJDK 1.11 pada sistem Rocky Linux, dan Anda siap untuk mengunduh dan menginstal Solr ke sistem Anda.
Menginstal Solr di Rocky Linux
Pada langkah ini, Anda akan menginstal Solr versi terbaru (versi saat ini adalah 8.11) ke sistem Rocky Linux. Anda akan menginstal Solr menggunakan skrip penginstal yang disertakan dalam paket Solr.
1. Ubah direktori kerja Anda saat ini ke '/ opt' dan unduh kode biner Solr menggunakan perintah berikut.
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
2. Setelah proses download selesai, ekstrak script installer dari paket Solr.
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Sekarang Anda akan melihat skrip penginstal Solr 'install_solr_service.sh '.
3. Jalankan script installer seperti di bawah ini untuk menginstal Solr.
sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
Sekarang skrip penginstal akan menginstal Solr dalam detail berikut:
- Direktori penginstalan adalah '/opt/solr '.
- Direktori data Solr akan tersedia di '/var/solr ' direktori.
- Solr akan berjalan sebagai pengguna sistem 'solr '.
- Tentukan skrip systemd untuk Solr dengan skrip 'solr '.
- Solr sekarang berjalan pada port default '8083 '.
Dan Anda akan melihat output yang sama seperti di bawah ini ketika instalasi Solr selesai.
Anda akan melihat pesan peringatan tentang batas file dan batas proses untuk Solr, Anda akan memperbaikinya pada langkah berikutnya. Dan Solr sekarang aktif dan berjalan di port '8983'.
4. Verifikasi 'DENGARKAN ' di sistem Anda menggunakan perintah berikut.
ss -aplnt | grep java
Jika instalasi Solr benar, Anda akan melihat port '8983' sekarang sedang digunakan oleh aplikasi Java.
LISTEN 0 50 [::ffff:127.0.0.1]:7983 *:* users:(("java",pid=4512,fd=48))
LISTEN 0 50 *:8983 *:* users:(("java",pid=4512,fd=157))
Sekarang matikan proses Solr menggunakan perintah berikut.
pkill java
kill -9 PID
PID adalah id proses dari aplikasi Solr. Anda dapat melihat PID aplikasi Solr dari perintah ss di atas.
5. Selanjutnya, muat ulang manajer sistem untuk menerapkan file layanan systemd baru.
sudo systemctl daemon-reload
6. Setelah itu, mulai dan aktifkan layanan 'solr ' menggunakan perintah berikut.
sudo systemctl enable --now solr
Verifikasi 'solr ' menggunakan perintah di bawah ini.
sudo systemctl status solr
Sekarang Anda akan melihat layanan 'solr' 'aktif (keluar)'. Layanan 'solr' sedang berjalan, tetapi systemd tidak dapat menemukan daemon untuk dipantau.
Dan Anda telah menyelesaikan instalasi Solr dasar pada sistem Rocky Linux.
Setup Limits Open Files dan Max Process for Solr User
Seperti yang Anda lihat di atas, selama instalasi Solr Anda mendapat pesan peringatan tentang batas file terbuka dan batas proses. Solr memerlukan batas minimum file terbuka dan batas proses maksimum hingga '65000 '.
Untuk mengatasi pesan peringatan ini, Anda harus mengedit konfigurasi '/etc/security/limits.conf' dan tentukan batas maksimum file terbuka dan batas proses maksimum untuk 'solr' pengguna.
1. Edit konfigurasi '/etc/security/limits.conf ' menggunakan editor nano.
sudo nano /etc/security/limits.conf
Salin dan tempel konfigurasi berikut ke bagian bawah baris.
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Simpan konfigurasi dan keluar.
2. Selanjutnya, verifikasi batas file yang terbuka dan pengguna maksimal yang diproses menggunakan yang berikut ini.
sudo -u solr ulimit -a
Dan Anda akan melihat batas file terbuka dan batas maksimum proses pengguna hingga '65000 ' seperti di bawah ini.
3. Sekarang restart 'solr ' menggunakan perintah berikut.
sudo systemctl restart solr
Sekarang Anda telah menyelesaikan konfigurasi batas maksimum file terbuka dan batas proses maksimum untuk aplikasi Solr.
Verifikasi Instalasi Solr
Untuk memverifikasi instalasi Solr, Anda perlu menambahkan port '8983 ' ke firewalld, maka Anda dapat mengakses dasbor aplikasi web Solr.
1. Jalankan perintah firewall-cmd di bawah ini untuk menambahkan port '8983 ' untuk firewalld dan memuat ulang.
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
2. Sekarang buka browser web Anda dan ketik alamat IP server dengan port '8983 ' seperti di bawah ini.
http://192.168.1.10:8983/
Dan Anda akan melihat dashboard Solr seperti di bawah ini.
Tidak ada otentikasi dan otorisasi yang diaktifkan pada instalasi Solr default. Pindah ke tahap berikutnya untuk mengamankan penerapan Solr dengan autentikasi dan otorisasi.
Mengamankan Solr dengan Otentikasi Dasar
Pada langkah ini, Anda akan mempelajari cara mengaktifkan 'Otentikasi Dasar untuk Solr.
Untuk mengaktifkan Solr Basic Authentication, Anda harus membuat file konfigurasi baru 'security.json ', dan tentukan modul otentikasi dan otorisasi. Konfigurasi 'security.json' harus berada di direktori data Solr '/var/solr/data '.
Selain itu, Anda dapat memeriksa direktori data Solr dari dasbor Solr seperti di bawah ini.
1. Ubah direktori kerja Anda menjadi '/var/solr/data' dan buat file konfigurasi baru 'security.json ' menggunakan editor nano.
cd /var/solr/data/
sudo -u solr nano security.json
Salin dan tempel konfigurasi berikut.
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
"realm":"My Solr users",
"forwardCredentials": false
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"all", "role":"admin"}],
"user-role":{"solr":"admin"}
}
}
Simpan konfigurasi dan keluar.
Ini akan membuat pengguna admin baru 'solr ' dengan kata sandi 'SolrRocks '
2. Selanjutnya, restart layanan 'solr' untuk menerapkan konfigurasi baru menggunakan perintah systemctl di bawah ini.
sudo systemctl restart solr
3. Untuk memverifikasi otentikasi Solr, kembali ke browser web Anda dan ketik alamat IP server dengan port Solr '8983 '.
http://192.168.1.10:8983/
Sekarang Anda akan diarahkan ke halaman login Solr seperti di bawah ini.
Ketik nama pengguna 'solr ' dan sandi 'SolrRocks ', lalu klik tombol 'Masuk'.
Dan Anda akan melihat dasbor Solr.
Di 'Keamanan ', Anda akan melihat plugin autentikasi dan otorisasi terperinci dengan nama pengguna dan peran yang sedang Anda gunakan.
Sekarang Anda telah mengamankan instalasi Solr dengan plugin Basic Authentication.
Buat dulu Solr Core
Di Solr, istilah inti mengacu pada indeks Lucene tunggal, dan Anda dapat membuat beberapa inti dalam satu penerapan Solr.
Setiap inti berisi log transaksi dan file konfigurasi seperti solrconfig.xml, file skema, dll. Selain itu, Anda dapat mengindeks data dengan struktur berbeda pada setiap inti dan dapat disajikan ke aplikasi/audiens yang berbeda.
Anda dapat membuat inti menggunakan 'solr ' baris perintah atau menggunakan dasbor admin Solr.
Pada langkah ini, Anda akan mempelajari cara membuat inti menggunakan 'solr ' baris perintah.
1. Sebelum membuat inti, Anda harus mengonfigurasi kredensial Solr.
Ubah direktori kerja Anda menjadi '/opt/solr/bin ' dan salin konfigurasi default 'solr.in.sh.orig ' ke 'solr.in.sh '.
cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh
Edit konfigurasi 'solr.in.sh ' menggunakan editor nano.
sudo nano solr.in.sh
Batalkan komentar pada opsi 'SOLR_AUTH_TYPE ' dan ubah nilainya menjadi 'basic '. Ini akan memberi tahu perintah 'solr' untuk menggunakan plugin Otentikasi Dasar
SOLR_AUTH_TYPE="basic"
Batalkan komentar pada opsi 'SOLR_AUTHENTICATION_OPTS ' dan ubah nilainya dengan pengguna dan kata sandi Solr seperti di bawah ini.
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Simpan konfigurasi dan keluar.
2. Selanjutnya buat core baru menggunakan perintah solr di bawah ini. Dalam contoh ini, Anda akan membuat inti baru dengan nama 'new_core' dan nama konfigurasi 'ConfigName '.
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
3. Sekarang kembali ke dasbor administrasi Solr untuk memverifikasi inti Solr.
Anda akan melihat detail inti seperti di bawah ini.
Dan Anda telah membuat inti Solr menggunakan baris perintah 'solr'.
Kesimpulan
Selamat! Anda telah mempelajari instalasi Solr pada sistem Rocky Linux. Selain itu, Anda telah mempelajari cara mengamankan penerapan Solr dengan plugin Otentikasi Dasar dan mempelajari cara membuat inti dari baris perintah 'solr'.