Skip to content Skip to main navigation Skip to footer

Cài đặt Elasticsearch trên CentOS 7

Trong bài viết này mình sẽ giúp các bạn cách để cài đặt Elasticsearch trên CentOS 7 đơn giản và dễ hiểu nhất có thể.

I. Elasticsearch là gì?

Elasticsearch là một công cụ tìm kiếm dựa trên phần mềm Lucene. Nó cung cấp một bộ máy tìm kiếm dạng phân tán, có đầy đủ công cụ với một giao diện web HTTP có hỗ trợ dữ liệu JSON. Elasticsearch được phát triển bằng Java và được phát hành dạng nguồn mở theo giấy phép Apache.

Hiểu đơn giản hơn là:

  • Elasticsearch là một search engine.
  • Elasticsearch được kế thừa từ Lucene Apache
  • Elasticsearch thực chất hoặt động như 1 web server, có khả năng tìm kiếm nhanh chóng (near realtime) thông qua giao thức RESTful.
  • Elasticsearch có khả năng phân tích và thống kê dữ liệu
  • Elasticsearch chạy trên server riêng và đồng thời giao tiếp thông qua RESTful do vậy nên nó không phụ thuộc vào client viết bằng gì hay hệ thống hiện tại của bạn viết bằng gì. Nên việc tích hợp nó vào hệ thống bạn là dễ dàng, bạn chỉ cần gửi request http lên là nó trả về kết quả.
  • Elasticsearch là 1 hệ thống phân tán và có khả năng mở rộng tuyệt vời (horizontal scalability). Lắp thêm node cho nó là nó tự động auto mở rộng cho bạn.
  • Elasticsearch là 1 open source được phát triển bằng Java.

Những công ty đang sử dụng Elasticsearch:

  • Wikimedia
  • athenahealth
  • Adobe Systems
  • Facebook
  • StumbleUpon Mozilla,
  • Amadeus IT Group
  • Quora
  • Foursquare
  • Etsy
  • SoundCloud
  • GitHub
  • FDA
  • CERN
  • Stack Exchange
  • Center for Open Science
  • Reverb
  • Netflix
  • Pixabay
  • Motili
  • Sophos
  • Slurm Workload Manager

II. Cài đặt Elasticsearch trên CentOS 7

Để cài đặt Elasticsearch trên CentOS 7 chúng ta cần thực hiện theo X bước sau.

Bước 1: SSH vào máy chủ của bạn

Để cài đặt Elasticsearch trên CentOS 7, đầu tiên chúng ta cần SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root trước. Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:

Sau khi đã SSH thành công chúng ta tiếp tục với bước 2 để cài đặt Java, bởi vì Elasticsearch yêu cầu máy chủ phải cài đặt Java trước thì mới cho phép cài đặt.

Bước 2: Cài đặt Java 8 trên CentOS 7

Vì Elasticsearch chỉ yêu cầu bản Java 8 thôi nên mình sẽ hướng dẫn các bạn cài đặt phiên bản Java 8 với lệnh bên dưới.

AZDIGI Tutorial
yum -y install java-1.8.0-openjdk.x86_64
    

Sau khi cài đặt Java xong các bạn có thể kiểm tra lại với lệnh sau.

AZDIGI Tutorial
java -version
    

Nếu kết quả trả về như bên dưới là bạn đã cài đặt Java 8 thành công.

AZDIGI Tutorial
[root@sv ~]# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
    

Bước 3: Thực hiện cài đặt Elasticsearch trên CentOS 7

Quá trình cài đặt Elasticsearch cũng tương đối đơn giản các bạn chỉ cần thực hiện theo các lệnh bên dưới là được, và đương nhiên mình sẽ giải thích rõ từng lệnh cho các bạn an tâm.

Đầu tiên chúng ta sẽ cần tải về tệp tin cài đặt Elasticsearch với định dạng .rpm:

AZDIGI Tutorial
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm
    

Tệp tin này có dung lượng khoảng 300MB nên tải về hơi mất một chút thời gian.

Tải về tệp tin cài đặt Elasticsearch.

Sau đó chúng ta cài đặt Elasticsearch với tệp tin vừa được tải về bằng lệnh sau:

AZDIGI Tutorial
rpm -ivh elasticsearch-7.8.0-x86_64.rpm
    
Cài đặt tệp tin cài đặt Elasticsearch.

Sau đó chúng ta cần khởi động lại dịch vụ daemon-reload bằng cách kích hoạt lệnh sau:

AZDIGI Tutorial
systemctl daemon-reload
    

Sau đó chúng ta khởi động Elasticsearch với lệnh sau:

AZDIGI Tutorial
systemctl start elasticsearch
    

Và sau khi Elasticsearch đã khởi động xong chúng ta có thể kiểm tra trạng thái hoạt động của Elasticsearch với lệnh sau:

AZDIGI Tutorial
systemctl status elasticsearch.service
    
Cài đặt Elasticsearch trên CentOS 7 thành công.

Đến đây là bạn có thể xác minh rằng Elasticsearch đang chạy bằng cách gửi yêu cầu HTTP đến cổng 9200 trên localhost bằng lệnh curl sau:

AZDIGI Tutorial
curl -X GET "localhost:9200/"
    

Nếu kết quả trả về như nội dung sau thì bạn đã thành công:

AZDIGI Tutorial
{
  "name" : "sv.templateda.com.vn",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "GZ8PhoVtRd-C8bdNHiSunw",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
    

Bước 4: Bật Remote Access Elasticsearch

Tuy nhiên đến đây chúng ta chỉ mới có thể sử dụng Elasticsearch ngay trên tính local mà thôi. Nếu bạn muốn người dùng bên ngoài kết nối với port 9200 thì bạn cần mở port 9200 và thực hiện thêm một số thao tác sau.

Tiến hành chỉnh sửa tập cấu hình của Elasticsearch với lệnh bên dưới:

AZDIGI Tutorial
vi /etc/elasticsearch/elasticsearch.yml
    

Di chuyển đến dòng 55 tiến hành bỏ # dòng này và sửa thành nội dung bên dưới:

AZDIGI Tutorial
network.host: 0.0.0.0
    

Sau đó bỏ # dòng 72 và tiến hành chỉnh sửa thành nội dung sau:

AZDIGI Tutorial
cluster.initial_master_nodes: node-1
    

Sau đó chúng ta sẽ cần khởi động lại Elasticsearch với lệnh sau:

AZDIGI Tutorial
systemctl start elasticsearch
    

Vậy là xong, bây giờ bạn hoàn toàn có thể kết nối từ xa đến máy chủ của bạn thông qua port 9200 như hình sau.

Đến đây thì công việc cài đặt Elasticsearch trên CentOS 7 chúng ta đã thành công rồi.

III. Tổng kết

Tuy bài viết cài đặt Elasticsearch trên CentOS 7 tương đối dài và có nhiều đoạn hơi phức tạp nhưng mình hy vọng các bạn có thể thực hiện được hết. Bây giờ bạn có thể truy cập trang Tài liệu Elasticsearch chính thức và tìm hiểu cách bắt đầu với Elasticsearch.

Chúc các bạn có thể thực hiện thành công. Xem thêm các bài viết hữu ích về Linux tại đường dẫn sau:

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

Bình chọn lsvr_kba