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ộtsearch 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ệuElasticsearch
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à 1open source
được phát triển bằngJava
.
Những công ty đang sử dụng Elasticsearch
:
- Wikimedia
- athenahealth
- Adobe Systems
- 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:
- Hướng dẫn đăng nhập vào VPS Linux với giao thức SSH.
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.
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.
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.
[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
:
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.
Sau đó chúng ta cài đặt Elasticsearch với tệp tin vừa được tải về bằng lệnh sau:
rpm -ivh elasticsearch-7.8.0-x86_64.rpm
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:
systemctl daemon-reload
Sau đó chúng ta khởi động Elasticsearch với lệnh sau:
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:
systemctl status elasticsearch.service
Đế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:
curl -X GET "localhost:9200/"
Nếu kết quả trả về như nội dung sau thì bạn đã thành công:
{ "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:
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:
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:
cluster.initial_master_nodes: node-1
Sau đó chúng ta sẽ cần khởi động lại Elasticsearch với lệnh sau:
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:
- Tổng hợp hướng dẫn sử dụng Linux.
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:
- Hotline: 028 730 24768 (Ext 0)
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@partner.com.vn.