Cài đặt Elasticsearch trên CentOS / RHEL

Elasticsearch là một công cụ tìm kiếm nâng cao có khả năng lưu trữ, tìm kiếm, phân tích dữ liệu và cho ra kết quả có độ trễ rất thấp. Với khả năng mở rộng cao, Elasticsearch là giải pháp khá hoàn hảo cho những ứng dụng có chức năng tìm kiếm cùng những yêu cầu phức tạp. Vậy làm thế nào để cài đặt Elasticsearch 7.x trên CentOS?

Cập nhật CentOS​



Việc cập nhật thường xuyên không chỉ giúp hệ thống hoạt động ổn định hơn mà còn hạn chế những rủi ro bảo mật nên cập nhật rồi làm gì thì làm:
Bash:
yum -y update
yum -y install nano
reboot
Lệnh reboot cũng sẽ khởi động lại hệ thống.

Cài đặt Elasticsearch 7.x​



Đầu tiên, chúng ta cần Elasticsearch Signing Key:
Bash:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Giờ thì thêm RPM repository, để tạo file repo, sử dụng lệnh:
Bash:
nano /etc/yum.repos.d/elasticsearch.repo
Thêm vào:
Code:
[elasticsearch]
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=0
autorefresh=1
type=rpm-md
Để lưu lại file thì sử dụng phím Ctrl + O và để thoát thì Ctrl + X (nhấn cùng lúc mỗi tổ hợp phím). Và tiến hành cài đặt Elasticsearch:
Bash:
yum install --enablerepo=elasticsearch elasticsearch
Giờ thì tiến hành cấu hình Elasticsearch, bắt đầu với:
Bash:
nano /etc/elasticsearch/elasticsearch.yml
Chèn vào cuối:
Code:
cluster.name: elasticsearch
network.host: localhost
http.port: 9200
Sử dụng Ctrl + O, Ctrl + X để lưu và thoát. Tạo thư mục tạm thời và set quyền cho user elasticsearch:
Bash:
mkdir /home/elasticsearch
chown -R elasticsearch:elasticsearch /home/elasticsearch/
Tiếp tục cấu hình Elasticsearch, tạo file cấu hình bằng:
Bash:
nano /etc/elasticsearch/jvm.options.d/jvm.options
Thêm vào:
Code:
-Xms512m
-Xmx512m
-Djava.io.tmpdir=/home/elasticsearch
Thay dung lượng RAM bạn muốn dùng cho Elasticsearch (Xms và xmx phải có cùng thông số, ví dụ như 256m):
Code:
-Xms512m
-Xmx512m
Khởi động Elasticsearch khi reboot:
Bash:
/bin/systemctl daemon-reload
/bin/systemctl enable elasticsearch.service
Giờ thì khởi động Elasticsearch:
Bash:
systemctl start elasticsearch.service
Đợi một tí rồi sử dụng lệnh curl -X GET "localhost:9200/?pretty" để xem Elasticsearch đã hoạt động chưa, như mình sau khi chạy lệnh sẽ nhận được:
Code:
[[email protected] ~]# curl -X GET "localhost:9200/?pretty"
{
  "name" : "xxx",
  "cluster_name" : "xxx",
  "cluster_uuid" : "xxx",
  "version" : {
    "number" : "7.13.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "xxx",
    "build_date" : "2021-05-28T17:40:59.346932922Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
Khởi động lại server và kiểm tra lại Elasticsearch để chắc chắn hoạt động bình thường.
 
Top