Hướng Dẫn Cài Đặt Elasticsearch Cluster trên Ubuntu 20.04

Chào Mọi Người.

Hôm nay mình sẽ hướng dẫn mọi người cài đặt Elasticsearch Cluster trên VPS/Server sử dụng hệ điều hành Ubuntu 20.04

Giới Thiệu.

Elasticsearch là một Search Engine được xây dựng trên Apache Lucene với chức năng chính dùng để tìm kiếm và phân tích cho tất cả loại dữ liệu như textual, numerical, geospatial, structured, unstructured ,…

Elasticsearch thực chất là một web server cho phép tìm kiếm với hiệu năng cao với độ trễ cực thấp ( Near Realtime ) thông qua giao thức REST APIs.

Elasticsearch hỗ trợ rất nhiều ngôn ngữ lập trình như : Python, Go, C# , Java, JavaScript,…

Cài Đặt.

Chuẩn Bị.

Ở bài viết này mình sẽ sử dụng 3 VPS chạy Ubuntu 20.04 với IP lần lượt là :

  • 10.124.11.55
  • 10.124.11.40
  • 10.124.11.42

Trong đó  VPS có IP 10.124.11.55 sẽ đóng vai trò là master trong cụm cluster.

Tiến Hành Cài Đặt.

Đầu tiên, ta sẽ tiến hành cài đặt Elasticsearch lần lượt trên 3 VPS với các câu lệnh tương tự nhau như sau :

Download và cài đặt Elastic public signing key.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Thêm Elastic source list vào thư mục “sources.list.d” để có thể sử dụng apt tiến hành cài đặt Elastic Search.

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

Sau đó tiến hành Update Apt và cài đặt Elastic Search.

apt-get update && sudo apt-get install elasticsearch

Sau khi hệ thống cài đặt xong ta sẽ tiến hành reload lại daemond cũng như cấu hình cho Elastic Search khởi động cùng hệ thống, tuy nhiên ta chưa tiến hành bật Elastic Search do cần phải cấu hình Cluster cho Elastic Search.

systemctl daemon-reload &&  systemctl enable elasticsearch.service

Tiếp theo ta sẽ cấu hình lần lượt cho Elastic Search trên 3 VPS bằng cách cấu hình file “/etc/elasticsearch/elasticsearch.yml” với nội dung lần lượt như sau :

Trên VPS có IP 10.124.11.55 là Node Master :

cluster.name: 123HOST

node.name: node-1

network.host: 10.124.11.55

http.port: 9200

discovery.seed_hosts: [“10.124.11.55”, “10.124.11.40”, “10.124.11.42”]

cluster.initial_master_nodes: [“10.124.11.55”]

Trên VPS có IP 10.124.11.40:

cluster.name: 123HOST

node.name: node-2

network.host: 10.124.11.40

http.port: 9200

discovery.seed_hosts: [“10.124.11.55”, “10.124.11.40”, “10.124.11.42”]

cluster.initial_master_nodes: [“10.124.11.55”]

Trên VPS có IP 10.124.11.42:

cluster.name: 123HOST

node.name: node-3

network.host: 10.124.11.42

http.port: 9200

discovery.seed_hosts: [“10.124.11.55”, “10.124.11.40”, “10.124.11.42”]

cluster.initial_master_nodes: [“10.124.11.55”]

Mọi người hay dựa vào các thông số của VPS mình để thay đổi lại cấu hình cho đúng, trong đó :

  • cluster.name : tên của cluster.
  • node.name : tên của node.
  • network.host :  địa chỉ IP mà elastic search sẽ sử dụng, mọi người có thể để là 0.0.0.0 nếu muốn.
  • discovery.seed_hosts : các node có trong cluster.
  • cluster.initial_master_nodes : node master.

Sau đó ta tiến hành khởi động Elastic Search trên lần lượt các node.

systemctl start elasticsearch.service

Sau đó kiểm tra lại Status của Elastic Search :

systemctl status elasticsearch.service

Như vậy là Elasticsearch Cluster của chúng ta đã hoạt động, để kiểm tra lại ta có thể làm như sau :

Kiểm tra Cluster Health:

curl -XGET 'http://10.124.11.55:9200/?pretty'

Ta để ý 2 thông số “status” và “number_of_nodes” nếu là “green” và số number of node trùng với số node thì cluster đã hoạt động.

Tiếp theo có thể kiểm tra thông số của các node :

curl -XGET'http://10.124.11.55:9200/_cluster/state/nodes?pretty'


Kiểm tra xem node nào là master node :
curl -XGET 'http://10.124.11.55:9200/_cluster/state/master_node?pretty'

Lời Cuối

Như vậy bài viết hướng dẫn cài đặ ElasticSearch Cluster trên Ubuntu 20.04 của mình tới đây là hết.
Cảm ơn mọi người đã bỏ thời gian theo dõi.

Rate This Article