Home Máy chủUbuntu Hướng dẫn cài đặt Elasticsearch trên Ubuntu 20.04

Hướng dẫn cài đặt Elasticsearch trên Ubuntu 20.04

by admincp

Elaticsearch là một nền tảng để tìm kiếm và phân tích dữ liệu trong thời gian thực. Bài viết này sẽ hướng dẫn cài đặt Elasticsearch trên Ubuntu 20.04.

Cài đặt Elasticsearch trên Ubuntu 20.04 – Elaticsearch là một nền tảng để tìm kiếm và phân tích dữ liệu trong thời gian thực. Nó là một lựa chọn phổ biến do tính khả dụng, tính năng mạnh mẽ và khả năng mở rộng của nó.

Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cài đặt Elasticsearch trên hệ thống sử dụng Ubuntu 20.04.

Cài đặt Elasticsearch trên Ubuntu 20.04

Yêu cầu

  • Một VPS sử dụng Ubuntu 20.04 có RAM 4GB và 2 CPU.

ĐĂNG KÝ CLOUD VPS

1. Bước 1: Cài đặt OpenJDK 11

Để Elasticsearch có thể hoạt động các bạn cần cài đặt OpenJDK. Chạy lệnh sau để cài đặt OpenJDK 11

sudo apt install openjdk-11-jdk -y

2. Bước 2: Cài đặt Elasticsearch

Elaticsearch không có sẵn trong kho lưu trữ của Ubuntu. Để có thể cài đặt các bạn sẽ cần thêm Sourcelist Để bắt đầu, hãy sử dụng cURL để nhập khóa GPG công khai của Elaticsearch.

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

Tiếp theo, thêm nguồn Elaticsearch vào thư mục sources.list.d, nơi apt sẽ tìm kiếm các nguồn mới:

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

Sau đó, cập nhật danh sách gói của bạn để apt đọc Elastic source:

sudo apt update

Sau khi update hoàn tất tiến hành cài đặt Elaticsearch bằng lệnh sau:

sudo apt install elasticsearch -y

Screenshot_40

3. Bước 3: Cấu hình Elasticsearch

Để cấu hình Elaticsearch, bạn cần chỉnh sửa tệp cấu hình chính của nó elaticsearch.yml. Tập tin này nằm trong thư mục /etc/elasticsearch.

Sử dụng trình soạn thảo văn bản ưa thích của bạn để chỉnh sửa tệp cấu hình Elaticsearch. Ở đây, VINASTAR sẽ sử dụng nano:

sudo nano /etc/elasticsearch/elasticsearch.yml

Lưu ý: Tệp cấu hình Elaticsearch có định dạng YAML, có nghĩa là chúng ta cần duy trì định dạng thụt lề. Hãy chắc chắn rằng bạn không thêm bất kỳ khoảng trắng nào khi bạn chỉnh sửa tệp này.

Tệp elasticsearch.yml cung cấp các tùy chọn cấu hình cho cụm, đường dẫn, bộ nhớ, mạng, và cổng của bạn. Hầu hết các tùy chọn này được cấu hình sẵn trong tệp nhưng bạn có thể thay đổi chúng theo nhu cầu của mình. Với mục đích cấu hình một máy chủ, VINASTAR sẽ chỉ điều chỉnh cài đặt mạng.

Elaticsearch lắng nghe lưu lượng truy cập từ khắp mọi nơi trên cổng 9200. Bạn sẽ muốn hạn chế quyền truy cập bên ngoài vào đối tượng Elaticsearch của mình để ngăn người ngoài đọc dữ liệu của bạn thông qua API. Để hạn chế quyền truy cập và tăng tính bảo mật, hãy tìm dòng network.host, bỏ ghi chú và thay thế giá trị của nó bằng localhost:

Screenshot_41

VINASTAR đã chỉ định localhost để Elaticsearch lắng nghe trên tất cả các giao diện và IP bị ràng buộc. Nếu bạn muốn nó chỉ nghe trên một IP cụ thể, bạn có thể chỉ định IP thay cho localhost. Lưu và đóng elaticsearch.yml. Nếu bạn sử dụng nano, bạn có thể làm như vậy bằng cách nhấn CTRL + X, nhập Y và sau đó ENTER.

Đây là các cài đặt tối thiểu bạn có thể bắt đầu để sử dụng Elaticsearch. Khởi động dịch vụ Elaticsearch với systemctl.

sudo systemctl start elasticsearch

Để kiểm tra trạng thái của Elaticsearch hãy dùng lệnh sau

systemctl status elasticsearch

Screenshot_42

Tiếp theo, hãy chạy lệnh sau để cho phép Elaticsearch khởi động cùng máy chủ của bạn:

sudo systemctl enable elasticsearch

Với tính năng Elaticsearch được kích hoạt khi khởi động, hãy chuyển sang bước tiếp theo để thảo luận về vấn đề bảo mật.

4. Bước 4: Bảo mật Elasticsearch

Theo mặc định, Elaticsearch có thể được kiểm soát bởi bất kỳ ai có thể truy cập API. Điều này không phải lúc nào cũng là rủi ro bảo mật vì Elaticsearch chỉ lắng nghe trên giao diện loopback (nghĩa là 127.0.0.1), chỉ có thể được truy cập cục bộ.

Nếu bạn cần cho phép truy cập từ xa vào API, bạn có thể giới hạn mức độ hiển thị của mạng với tường lửa mặc định của Ubuntu, UFW.

Bạn có thể định cấu hình tường lửa để cho phép truy cập vào cổng API Elaticsearch mặc định (TCP 9200) cho máy chủ từ xa, Ví dụ: 198.51.100.0. Để cho phép truy cập, gõ lệnh sau:

sudo ufw allow from 198.51.100.0 to any port 9200

Khi hoàn thành, bạn có thể kích hoạt UFW bằng lệnh:

Screenshot_43

sudo ufw enable

Bây giờ UFW nên được kích hoạt và thiết lập để bảo vệ cổng 9200.

5. Bước 5: Kiểm tra Elaticsearch

Đến bây giờ, Elaticsearch sẽ chạy trên cổng 9200. Bạn có thể kiểm tra nó bằng cURL và yêu cầu GET.

curl -X GET 'http://localhost:9200'

Bạn sẽ nhận được phản hồi sau:

Screenshot_44

Nếu bạn nhận được phản hồi tương tự như ảnh trên, Elaticsearch đang hoạt động bình thường. Nếu không, hãy đảm bảo rằng bạn đã thực hiện đúng các hướng dẫn cài đặt.

Để thực hiện kiểm tra kỹ lưỡng hơn về Elaticsearch, hãy thực hiện lệnh sau:

curl -XGET 'http://localhost:9200/_nodes?pretty'

6. Bước 6: Sử dụng Elaticsearch

Để bắt đầu sử dụng Elaticsearch, trước tiên, hãy thêm một số dữ liệu. Elaticsearch sử dụng RESTful API, đáp ứng các lệnh CRUD thông thường: tạo, đọc, cập nhật và xóa. Để làm việc với nó, chúng tôi sẽ sử dụng lệnh cURL.

Bạn có thể thêm mục đầu tiên của bạn như sau:

curl -XPOST -H "Content-Type: application/json" 'http://localhost:9200/tutorial/helloworld/1' -d '{ "message": "Hello World!" }'

Bạn sẽ nhận được phản hồi sau:

Screenshot_45 - cài đặt Elasticsearch trên Ubuntu 20.04

Với cURL, VINASTAR đã gửi yêu cầu POST đến máy chủ Elaticsearch. URI của yêu cầu là /tutorial/helloworld/1 với một vài tham số:

  • tutorial là chỉ mục của dữ liệu trong Elaticsearch.
  • helloworld là loại.
  • 1 là ID của mục nhập của chúng tôi theo chỉ mục và loại trên.

Bạn có thể truy xuất dữ liệu đầu tiên này với yêu cầu GET.

curl -X GET -H "Content-Type: application/json" 'http://localhost:9200/tutorial/helloworld/1' -d '{ "message": "Hello World!" }'

Screenshot_46 - cài đặt Elasticsearch trên Ubuntu 20.04

Để sửa đổi mục nhập hiện có, bạn có thể sử dụng yêu cầu PUT.

curl -X PUT -H "Content-Type: application/json"  'localhost:9200/tutorial/helloworld/1?pretty' -d '
{
  "message": "Hello, People!"
}'

Screenshot_47 - cài đặt Elasticsearch trên Ubuntu 20.04

Trong ví dụ trên, VINASTAR đã sửa đổi thông báo của mục nhập đầu tiên sang dòng Hello, People!. Cùng với đó, số phiên bản đã được tự động tăng lên 2.

Bạn có thể đã nhận thấy đối số pretty trong yêu cầu trên. Nó cho phép định dạng có thể đọc được để bạn có thể viết từng trường dữ liệu trên một hàng mới. Bạn cũng có thể cải thiện các kết quả của bạn khi lấy dữ liệu để có được đầu ra dễ đọc hơn bằng cách nhập lệnh sau:

curl -X GET -H "Content-Type: application/json" 'http://localhost:9200/tutorial/helloworld/1?pretty'

Bây giờ câu kết quả sẽ được hiển thị như sau:

Screenshot_48 - cài đặt Elasticsearch trên Ubuntu 20.04

7. Kết luận

Qua bài viết này VINASTAR đã hướng dẫn các bạn cài đặt Elaticsearch trên Ubuntu 20. Để tìm hiểu thêm về chức năng của Elaticsearch, vui lòng tham khảo tài liệu chính thức của Elaticsearch. Ngoài ra các bạn có thể xem thêm các hướng dẫn khác về Linux tại đây.

You may also like

Leave a Comment