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.