Cách cài đặt Apache Solr trên Rocky Linux

theanh

Administrator
Nhân viên
Apache Solr hay Solr là một nền tảng tìm kiếm miễn phí và mã nguồn mở dựa trên thư viện Apache Lucene. Solr là viết tắt của Searching On Lucene with Replication, đây là một nền tảng tìm kiếm cấp doanh nghiệp được viết bằng Java.

Solr là một nền tảng tìm kiếm có khả năng mở rộng cao và đáng tin cậy với khả năng chịu lỗi và lập chỉ mục phân tán. Ngoài ra, nó đi kèm với khả năng sao chép và chuyển đổi dự phòng và phục hồi tự động.

Trong hầu hết các trường hợp, Solr được sử dụng để xây dựng các ứng dụng cấp doanh nghiệp mang lại hiệu suất cao. Solr được sử dụng bởi một số trang web lớn trên internet như Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram, v.v.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Apache Solr trên hệ thống Rocky Linux, bật xác thực cơ bản Solr, thiết lập giới hạn tệp mở tối đa và giới hạn quy trình tối đa cho triển khai Solr và cách tạo lõi Solr đầu tiên từ dòng lệnh.

Điều kiện tiên quyết​

Trước khi bắt đầu, hãy đảm bảo bạn có các yêu cầu sau:
  • Hệ điều hành: Rocky Linux 8.5 (Green Obsidian)
  • Bộ nhớ: 2 GB để thử nghiệm
  • CPU: 2
  • Quyền root
Bây giờ chúng ta hãy bắt đầu.

Cài đặt Java OpenJDK​

Để cài đặt Solr trên hệ thống Linux, bạn cần ít nhất Java OpenJDK 1.8 trở lên. Rocky Linux cung cấp nhiều phiên bản Java OpenJDK và trong ví dụ này, bạn sẽ cài đặt Java OpenJDK 1.11 để cài đặt Solr.

1. Thực hiện lệnh DNF bên dưới để cài đặt Java OpenJDK 1.11 trên hệ thống Rocky Linux.
Mã:
sudo dnf install java-11-openjdk java-11-openjdk-devel
Nhập 'y' để xác nhận cài đặt và nhấn 'Enter' để tiếp tục.

2. Nếu quá trình cài đặt Java hoàn tất, hãy xác minh cài đặt của bạn bằng lệnh sau.
Mã:
java --version
Dưới đây là kết quả tương tự mà bạn sẽ nhận được.
Mã:
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (bản dựng 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (bản dựng 11.0.13+8-LTS, chế độ hỗn hợp, chia sẻ)
Bạn đã hoàn tất quá trình cài đặt Java OpenJDK 1.11 trên hệ thống Rocky Linux và bạn đã sẵn sàng tải xuống và cài đặt Solr vào hệ thống của mình.

Cài đặt Solr trên Rocky Linux​

Trong bước này, bạn sẽ cài đặt phiên bản Solr mới nhất (phiên bản hiện tại là 8.11) vào hệ thống Rocky Linux. Bạn sẽ cài đặt Solr bằng tập lệnh cài đặt có trong gói Solr.

1. Thay đổi thư mục làm việc hiện tại của bạn thành '/opt' và tải xuống mã nhị phân Solr bằng lệnh sau.
Mã:
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
2. Sau khi quá trình tải xuống hoàn tất, hãy giải nén tập lệnh cài đặt từ gói Solr.
Mã:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Bây giờ bạn sẽ thấy tập lệnh cài đặt Solr 'install_solr_service.sh'.

3. Thực thi tập lệnh cài đặt như bên dưới để cài đặt Solr.
Mã:
sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
Bây giờ tập lệnh cài đặt sẽ cài đặt Solr theo các chi tiết sau:
  • Thư mục cài đặt là '/opt/solr'.
  • Thư mục dữ liệu Solr sẽ có tại thư mục '/var/solr'.
  • Solr sẽ chạy dưới dạng người dùng hệ thống 'solr'.
  • Xác định tập lệnh systemd cho Solr bằng tập lệnh 'solr'.
  • Solr hiện đang chạy trên cổng mặc định '8083'.
Và bạn sẽ thấy đầu ra tương tự như bên dưới khi quá trình cài đặt Solr hoàn tất.



Bạn sẽ thấy thông báo cảnh báo về giới hạn tệp và giới hạn quy trình cho Solr, bạn sẽ sửa nó ở bước tiếp theo. Và Solr hiện đang hoạt động trên cổng '8983'.

4. Xác minh cổng 'LISTEN' trên hệ thống của bạn bằng lệnh sau.
Mã:
ss -aplnt | grep java
Nếu cài đặt Solr đúng, bạn sẽ thấy cổng '8983' hiện đang được ứng dụng Java sử dụng.
Mã:
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))
Bây giờ hãy tắt tiến trình Solr bằng lệnh sau.
Mã:
pkill java
kill -9 PID
PID là id tiến trình của ứng dụng Solr. Bạn có thể thấy PID của ứng dụng Solr từ lệnh ss ở trên cùng.

5. Tiếp theo, tải lại trình quản lý hệ thống để áp dụng tệp dịch vụ systemd mới.
Mã:
sudo systemctl daemon-reload
6. Sau đó, hãy khởi động và kích hoạt dịch vụ 'solr' bằng lệnh sau.
Mã:
sudo systemctl enable --now solr
Xác minh dịch vụ 'solr' bằng lệnh bên dưới.
Mã:
sudo systemctl status solr
Bây giờ bạn sẽ thấy dịch vụ 'solr' đang 'hoạt động (thoát)'. Dịch vụ 'solr' đang chạy, nhưng systemd không tìm thấy bất kỳ daemon nào để giám sát.



Và bạn đã hoàn tất cài đặt Solr cơ bản trên hệ thống Rocky Linux.

Thiết lập giới hạn tệp mở và quy trình tối đa cho người dùng Solr​

Như bạn có thể thấy ở trên, trong quá trình cài đặt Solr, bạn nhận được thông báo cảnh báo về giới hạn tệp mở và giới hạn quy trình. Solr yêu cầu giới hạn tệp mở tối thiểu và giới hạn quy trình tối đa là '65000'.

Để giải quyết các thông báo cảnh báo này, bạn phải chỉnh sửa cấu hình '/etc/security/limits.conf' và xác định giới hạn tệp mở tối đa và giới hạn quy trình tối đa cho người dùng 'solr'.

1. Chỉnh sửa cấu hình '/etc/security/limits.conf' bằng trình soạn thảo nano.
Mã:
sudo nano /etc/security/limits.conf
Sao chép và dán cấu hình sau vào cuối dòng.
Mã:
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Lưu cấu hình và thoát.

2. Tiếp theo, hãy xác minh giới hạn tệp mở và số lượng người dùng tối đa được xử lý bằng lệnh sau.
Mã:
sudo -u solr ulimit -a
Bạn sẽ thấy giới hạn tệp mở và giới hạn quy trình người dùng tối đa là '65000' như bên dưới.



3. Bây giờ hãy khởi động lại dịch vụ 'solr' bằng lệnh sau.
Mã:
sudo systemctl restart solr
Bây giờ bạn đã hoàn tất cấu hình giới hạn tệp mở tối đa và giới hạn quy trình tối đa cho ứng dụng Solr.

Xác minh cài đặt Solr​

Để xác minh cài đặt Solr, bạn cần thêm cổng '8983' vào tường lửa, sau đó bạn có thể truy cập bảng điều khiển ứng dụng web Solr.

1. Thực hiện lệnh firewall-cmd bên dưới để thêm cổng '8983' vào firewalld và tải lại.
Mã:
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
2. Bây giờ hãy mở trình duyệt web của bạn và nhập địa chỉ IP máy chủ có cổng '8983' như bên dưới.


Và bạn sẽ thấy bảng điều khiển Solr như bên dưới.



Không có xác thực và ủy quyền nào được bật trên cài đặt Solr mặc định. Chuyển sang giai đoạn tiếp theo để bảo mật triển khai Solr bằng xác thực và ủy quyền.

Bảo mật Solr bằng Xác thực cơ bản​

Trong bước này, bạn sẽ tìm hiểu cách bật 'Xác thực cơ bản cho Solr.

Để bật Xác thực cơ bản Solr, bạn phải tạo tệp cấu hình mới 'security.json' và xác định mô-đun xác thực và ủy quyền. Cấu hình 'security.json' phải nằm trong thư mục dữ liệu Solr '/var/solr/data'.

Ngoài ra, bạn có thể kiểm tra thư mục dữ liệu Solr từ bảng điều khiển Solr như bên dưới.



1. Thay đổi thư mục làm việc của bạn thành '/var/solr/data' và tạo tệp cấu hình mới 'security.json' bằng trình soạn thảo nano.
Mã:
cd /var/solr/data/
sudo -u solr nano security.json
Sao chép và dán cấu hình sau.
Mã:
{
 "authentication":{
 "blockUnknown": true,
 "class":"solr.BasicAuthPlugin",
 "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
 "realm":"Người dùng Solr của tôi",
 "forwardCredentials": false
 },
 "authorization":{
 "class":"solr.RuleBasedAuthorizationPlugin",
 "permissions":[{"name":"all", "role":"admin"}],
 "user-role":{"solr":"admin"}
 }
}
Lưu cấu hình và thoát.

Điều này sẽ tạo một người dùng quản trị mới 'solr' với mật khẩu 'SolrRocks'

2. Tiếp theo, khởi động lại dịch vụ 'solr' để áp dụng cấu hình mới bằng lệnh systemctl bên dưới.
Mã:
sudo systemctl restart solr
3. Để xác minh xác thực Solr, hãy quay lại trình duyệt web của bạn và nhập địa chỉ IP máy chủ với cổng Solr '8983'.


Bây giờ bạn sẽ được chuyển hướng đến trang đăng nhập Solr như bên dưới.



Nhập tên người dùng 'solr' và mật khẩu 'SolrRocks', sau đó nhấp vào nút 'Đăng nhập'.

Và bạn sẽ thấy bảng điều khiển Solr.

Trong phần 'Bảo mật', bạn sẽ thấy một plugin xác thực và ủy quyền chi tiết với tên người dùng và vai trò mà bạn hiện đang sử dụng.



Bây giờ bạn đã bảo mật cài đặt Solr bằng plugin Xác thực cơ bản.

Đầu tiên hãy tạo Solr Core​

Trong Solr, thuật ngữ core được dùng để chỉ một chỉ mục Lucene duy nhất và bạn có thể tạo nhiều core trong một lần triển khai Solr duy nhất.

Mỗi core chứa các nhật ký giao dịch và tệp cấu hình như solrconfig.xml, tệp lược đồ, v.v. Ngoài ra, bạn có thể lập chỉ mục dữ liệu với các cấu trúc khác nhau trên mỗi core và có thể được trình bày cho các ứng dụng/đối tượng khác nhau.

Bạn có thể tạo core bằng dòng lệnh 'solr' hoặc bằng bảng điều khiển quản trị Solr.

Trong bước này, bạn sẽ tìm hiểu cách tạo core bằng dòng lệnh 'solr'.

1. Trước khi tạo lõi, bạn phải cấu hình thông tin xác thực Solr.

Thay đổi thư mục làm việc của bạn thành '/opt/solr/bin' và sao chép cấu hình mặc định 'solr.in.sh.orig' vào 'solr.in.sh'.
Mã:
cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh
Chỉnh sửa cấu hình 'solr.in.sh' bằng trình soạn thảo nano.
Mã:
sudo nano solr.in.sh
Bỏ ghi chú tùy chọn 'SOLR_AUTH_TYPE' và thay đổi giá trị thành 'basic'. Lệnh này sẽ yêu cầu lệnh 'solr' sử dụng plugin Xác thực cơ bản
Mã:
SOLR_AUTH_TYPE="basic"
Bỏ ghi chú tùy chọn 'SOLR_AUTHENTICATION_OPTS' và thay đổi giá trị bằng tên người dùng và mật khẩu Solr như bên dưới.
Mã:
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Lưu cấu hình và thoát.

2. Tiếp theo, tạo một lõi mới bằng lệnh solr bên dưới. Trong ví dụ này, bạn sẽ tạo một lõi mới với tên 'new_core' và tên cấu hình 'ConfigName'.
Mã:
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
3. Bây giờ quay lại bảng điều khiển quản trị Solr để xác minh lõi Solr.

Bạn sẽ thấy chi tiết lõi như bên dưới.



Và bạn đã tạo lõi Solr bằng dòng lệnh 'solr'.

Kết luận​

Xin chúc mừng! Bạn đã học cách cài đặt Solr trên hệ thống Rocky Linux. Ngoài ra, bạn đã học cách bảo mật triển khai Solr bằng plugin Xác thực cơ bản và học cách tạo lõi từ dòng lệnh 'solr'.
 
Back
Bên trên