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.
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.
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.
Dưới đây là kết quả tương tự mà bạn sẽ nhận được.
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.
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.
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.
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.
Bây giờ tập lệnh cài đặt sẽ cài đặt Solr theo các chi tiết sau:
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.
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.
Bây giờ hãy tắt tiến trình Solr bằng lệnh sau.
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.
6. Sau đó, hãy khởi động và kích hoạt dịch vụ 'solr' bằng lệnh sau.
Xác minh dịch vụ 'solr' bằng lệnh bên dưới.
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.
Để 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.
Sao chép và dán cấu hình sau vào cuối dòng.
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.
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.
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.
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.
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ậ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.
Sao chép và dán cấu hình sau.
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.
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.
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'.
Chỉnh sửa cấu hình 'solr.in.sh' bằng trình soạn thảo nano.
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
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.
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'.
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'.
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
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
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
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ẻ)
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
Mã:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
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
- 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'.
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
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))
Mã:
pkill java
kill -9 PID
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
Mã:
sudo systemctl enable --now solr
Mã:
sudo systemctl status solr
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
Mã:
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
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
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
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
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
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"}
}
}
Đ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
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
Mã:
sudo nano solr.in.sh
Mã:
SOLR_AUTH_TYPE="basic"
Mã:
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
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"
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'.