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

Tác giả: VPS chính hãng 26 tháng 04, 2023

Elasticsearch là một công cụ phân tích và tìm kiếm nguồn mở, được thiết kế để xử lý lượng dữ liệu lớn. Nó được xây dựng dựa trên thư viện tìm kiếm Lucene, cung cấp một cách hiệu quả và có thể mở rộng để tìm kiếm, phân tích và trực quan hóa dữ liệu trong thời gian thực. Hướng dẫn dưới đây sẽ chia sẻ cách cài đặt Elasticsearch trên Ubuntu. Hãy cùng theo dõi!

Elasticsearch là gì?

Elasticsearch sử dụng phương pháp để dữ liệu được lưu trữ dưới dạng tài liệu với các trường và giá trị. Đồng thời mỗi tài liệu được gán một mã định danh duy nhất. Nó cho phép truy vấn và lọc dữ liệu linh hoạt, giúp dễ dàng tìm kiếm các tài liệu cụ thể hoặc phân tích dữ liệu dựa trên các tiêu chí khác nhau.

Ngoài tìm kiếm và phân tích, Elasticsearch cũng có thể được sử dụng để ghi nhật ký, giám sát và phân tích bảo mật. Elasticsearch có khả năng mở rộng với các tính năng tích hợp sẵn để phân cụm và sao chép. Nó có thể được triển khai tại chỗ hoặc trên đám mây, hỗ trợ các nền tảng và ngôn ngữ lập trình khác nhau. Nhìn chung, Elasticsearch là một công cụ mạnh mẽ để xử lý các nhu cầu phân tích và tìm kiếm dữ liệu quy mô lớn.

Elasticsearch hoạt động như thế nào?

Elasticsearch nhận dữ liệu thô từ nhiều nguồn khác nhau, chẳng hạn như nhật ký, số liệu hệ thống và ứng dụng web. Trước khi được lập chỉ mục trong Elasticsearch, dữ liệu thô này được phân tích, chuẩn hóa và nâng cao thông qua một quy trình gọi là thu thập dữ liệu. Người dùng có thể sử dụng các tập hợp để có được các bản tóm tắt phức tạp về dữ liệu của họ sau khi dữ liệu đó đã được lập chỉ mục trong Elasticsearch. Sau đó có thể chạy các truy vấn phức tạp đối với dữ liệu đó. Người dùng có thể quản lý Elastic Stack, chia sẻ bảng điều khiển và tạo trực quan hóa dữ liệu phong phú bằng Kibana.

Elasticsearch là một công cụ phân tích và tìm kiếm nguồn mở

Elasticsearch là một công cụ phân tích và tìm kiếm nguồn mở

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

Điều kiện để cài đặt Elasticsearch trên Ubuntu

Để hướng dẫn này hoạt động chính xác, hãy cung cấp các tùy chọn bên dưới:

  • Một server chạy Ubuntu hoặc VPS Linux Ubuntu.
  • Người dùng không phải root có đặc quyền sudo.
  • Cài đặt Java (Để đảm bảo rằng môi trường của bạn được định cấu hình đúng cách và không xảy ra sự cố không mong muốn nào).
  • Ít nhất 2 GB RAM và 2 CPU.
Cần một máy chủ Ubuntu tối thiểu 2GB RAM để cài đặt Elasticsearch

Cần một máy chủ Ubuntu tối thiểu 2GB RAM để cài đặt Elasticsearch

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

Kho lưu trữ gói mặc định cho Ubuntu không chứa các thành phần Elasticsearch. Tuy nhiên, sau khi thêm danh sách nguồn gói cho Elastic, chúng có thể được cài đặt qua APT. Để cập nhật danh sách gói hãy chạy lệnh bên dưới:

sudo apt update

Bây giờ sẵn sàng cài đặt Elasticsearch trên Ubuntu với lệnh:

sudo apt install elasticsearch

Khi được yêu cầu xác nhận cài đặt, hãy nhấn Y. Nhấn ENTER để chấp nhận các giá trị mặc định và tiếp tục nếu bạn được yêu cầu khởi động lại bất kỳ dịch vụ nào. Elasticsearch đã được thiết lập và sẵn sàng cho cấu hình. Ngoài ra, để bỏ qua bước được giải thích, bạn có thể chạy lệnh sau thay vì lệnh trước đó.

sudo apt install elasticsearch -y

Bước 2. Định cấu hình Elasticsearch

Elasticsearch đã được cài đặt đầy đủ, tuy nhiên trước khi sử dụng bạn vẫn cần cấu hình nó. Hầu hết các tùy chọn cấu hình của Elasticsearch đều có trong tệp cấu hình chính của nó: elaticsearch.yml, mà chúng tôi sẽ cập nhật để định cấu hình Elasticsearch. Tệp này có thể được tìm thấy ở vị trí /etc/elasticsearch. Chỉnh sửa tệp cấu hình cho Elasticsearch bằng trình soạn thảo văn bản yêu thích của bạn. Chúng tôi sẽ sử dụng nano trong trường hợp này:

sudo nano /etc/elasticsearch/elasticsearch.yml

Trên cổng 9200, Elasticsearch giám sát lưu lượng đến từ mọi nơi. Để ngăn người ngoài xem dữ liệu của bạn hoặc tắt cụm Elasticsearch thông qua [REST API], bạn nên hạn chế quyền truy cập bên ngoài vào phiên bản Elasticsearch của mình. Tìm dòng có nội dung “network” để giới hạn quyền truy cập và do đó tăng cường bảo mật. Bỏ ghi chú và đặt localhost làm giá trị của nó để làm cho nó xuất hiện như sau:

/etc/elasticsearch/elasticsearch.yml

. . . 

# ---------------------------------- Network ----------------------------------- 

# 

# Set the bind address to a specific IP (IPv4 or IPv6): 

# 

network.host: <span style="color: #003366;">localhost</span> 

. . .

Khởi động lại dịch vụ Elasticsearch để các thay đổi có hiệu lực:

sudo systemctl restart elasticsearch

Để Elasticsearch hiệu quả trên tất cả các giao diện và IP bị ràng buộc, chúng tôi đã chọn máy chủ cục bộ. Bạn có thể cung cấp địa chỉ IP thay cho localhost nếu bạn chỉ muốn nó nghe trên một giao diện duy nhất. Luôn mở và đóng elaticsearch.yml. Nếu bạn đang sử dụng nano, bạn có thể đạt được điều này bằng cách nhập CTRL+X, YENTER trước khi thả các phím trên bàn phím. Elasticsearch hiện có thể được khởi chạy lần đầu tiên.

Sử dụng systemctl để khởi chạy dịch vụ Elasticsearch. Hãy cho Elasticsearch một thời gian để khởi chạy. Nếu không, bạn có thể gặp lỗi cho biết bạn không thể kết nối:

sudo systemctl start elasticsearch

Để Elasticsearch khởi động mỗi khi máy chủ của bạn khởi động, hãy chạy lệnh bên dưới:

sudo systemctl enable elasticsearch

Cho đến giờ, bạn đã cài đặt và định cấu hình Elasticsearch trên Ubuntu. Bây giờ, đã đến lúc bảo mật Elaticsearch.

=>> Đọc thêm: Cách kiểm tra các Port đang mở trong VPS Linux

Bước 3. Bảo mật Elasticsearch

Bây giờ dịch vụ Elasticsearch của bạn đã hoạt động, và bạn nên bảo vệ cài đặt của mình. UFW – tường lửa tích hợp trong Ubuntu sẽ giúp bạn. Chỉ mạng cục bộ mới có thể truy cập máy chủ Elasticsearch của bạn, điều này là đủ cho môi trường thử nghiệm và phát triển. Tuy nhiên, trong môi trường thực tế, bạn chỉ nên hạn chế quyền truy cập vào Elasticsearch đối với một số máy chủ nhất định.

Theo mặc định, bất kỳ ai có quyền truy cập vào API HTTP đều có thể quản lý Elasticsearch . Bởi vì Elasticsearch chỉ lắng nghe trên giao diện loopback. Giao diện này chỉ có thể được truy cập cục bộ, nên đây thường không phải là vấn đề bảo mật. Sử dụng lệnh sau để cho phép truy cập:

sudo ufw allow from yourIP to any port 9200

Để kích hoạt UFW, gõ:

sudo ufw enable

Sau đó, bạn có thể chạy lệnh sau để kiểm tra trạng thái của UFW:

sudo ufw status

Nếu các quy tắc được chỉ định đúng, bạn sẽ có đầu ra tương tự như sau:

<span style="color: #0000ff;">Output</span> 

Status: active 

To Action From 


-- ------ ---- 

<span style="color: #008080;">9200 ALLOW 198.51.100.0</span> 

22 ALLOW Anywhere 

22 (v6) ALLOW Anywhere (v6)

Cổng Elasticsearch 9200 hiện sẽ được bảo mật bởi UFW đã được bật. Bạn cũng có thể mua plugin Shield nếu muốn bảo mật hơn.

=>> Đọc thêm: Cách tìm kiếm tệp và thư mục bằng lệnh Find trong Linux

Cách kiểm tra và sử dụng Elasticsearch trên Ubuntu

Bây giờ cài đặt Elasticsearch của bạn đã an toàn, bạn có thể sử dụng lệnh curl -XGET để duyệt qua các trang. Vì Elasticsearch chạy trên cổng 9200 nên bạn có thể kiểm tra nó bằng cURL và yêu cầu GET.

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

Để thực hiện tìm kiếm kỹ lưỡng hơn trong Elasticsearch và nhận đầu ra JSON ngắn gọn và dễ hiểu hơn hãy chạy lệnh sau:

curl -X GET 'http://localhost:9200/_nodes?pretty'

API RESTful mà Elasticsearch sử dụng cho các lệnh CRUD tiêu chuẩn – tạo, đọc, cập nhật và xóa. Một lần nữa chúng ta sẽ sử dụng lệnh cURL để tương tác với nó. Bạn có thể bắt đầu bằng cách thêm mục sau:

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

Để truy xuất mục nhập đầu tiên này bằng yêu cầu HTTP GET, hãy nhập:

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

Bạn có thể xem thêm chức năng của Elasticsearch bằng cách tham khảo tài liệu trên trang web chính thức của nó.

Trong bài viết này, bạn đã biết được cách cài đặt Elasticsearch trên Ubuntu. Sau khi cài đặt và định cấu hình bạn có thể tìm kiếm nội dung yêu thích hoặc sử dụng theo cách của mình. Đây là một công cụ hữu ích được sử dụng bởi các nhà phân tích dữ liệu, chuyên gia DevOps và chuyên gia tiếp thị. Liên hệ với chúng tôi qua vpschinhhang.com nếu có bất kì thắc mắc nào. Cảm ơn đã theo dõi bài viết!