Elasticsearch là một nền tảng được sử dụng real-time full-text trong các ứng dụng cần phân tích một lượng lớn dữ liệu. Kết hợp với các công cụ khác, chẳng hạn như Kibana, Logstash, X-Pack, v.v., Elasticsearch có thể tổng hợp và giám sát Dữ liệu lớn ở quy mô lớn.

Với hỗ trợ RESTful API, bạn có thể dễ dàng quản lý dữ liệu của mình bằng phương pháp HTTP phổ biến. Do tốc độ và tính dễ sử dụng, nó cũng trở nên phù hợp với các tác vụ phức tạp hơn mà Hadoop và Spark xử lý.

Trong hướng dẫn này, chúng ta sẽ chỉ cho bạn cách chuẩn bị mọi thứ sẵn sàng và cách cài đặt Elasticsearch trên Ubuntu 18.04. Các bước cài đặt cũng sẽ hoạt động cho các bản phân phối Linux khác.

Điều kiện cần thiết:

  • Một hệ thống dựa trên Ubuntu (hướng dẫn này sử dụng Ubuntu 18.04)
  • Truy cập vào terminal hoặc dòng lệnh
  • Người dùng có quyền sudo để cài đặt các gói

Cài đặt các phụ thuộc cần thiết

Vì Elasticsearch chạy trên Java, bạn cần cài đặt Java Development Kit (JDK).

Bạn có thể kiểm tra xem Java đã được cài đặt chưa và phiên bản trên máy Ubuntu của bạn với:

java -version

Đầu ra hiển thị phiên bản Java đã cài đặt.

Nếu bạn chưa cài đặt Java, bạn sẽ nhận được thông báo lỗi: bash: /usr/bin/java: No such file or directory. 

Trước khi tiếp tục cài đặt, hãy cập nhật chỉ mục gói:

sudo apt update

Để cài đặt JDK mặc định , hãy chạy lệnh sau:

sudo apt install openjdk-8-jdk

Khi quá trình kết thúc, hãy chạy lại lệnh java -version. Output hiển thị phiên bản sau trong trường hợp của chúng ta như sau:

Để cho phép truy cập vào kho của bạn thông qua HTTPS, bạn cần cài đặt gói APT:

sudo apt install apt-transport-https

Đầu ra ở trên hiển thị phần cuối cùng khi quá trình hoàn tất.

Cài đặt và tải xuống Elasticsearch trên Ubuntu

Sau khi bạn xác nhận cài đặt Java và apt-transport-https thành công, hãy tiến hành các bước để cài đặt Elasticsearch.

Thêm Kho lưu trữ Elasticsearch

Đầu tiên, cập nhật khóa GPG cho kho lưu trữ Elasticsearch.

Sử dụng lệnh wget để pull public key:

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

Đầu ra sẽ hiển thị OK  nếu mọi thứ diễn ra như nó nên.

Lưu ý: Bạn cần nhập lệnh trên chính xác như nó được viết trong ví dụ. Hãy chắc chắn rằng bạn sử dụng chữ hoa và dấu cách một cách thích hợp. Ngoài ra, đừng quên thêm dấu gạch ngang ở cuối lệnh.

Tiếp theo, sử dụng lệnh này để thêm kho lưu trữ vào hệ thống của bạn.

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

Trong lệnh trên, chúng ta đã sử dụng 7.x vì đây là phiên bản Elasticsearch mới nhất tại thời điểm viết hướng dẫn này.

Cài đặt Elasticsearch

Cuối cùng, đã đến lúc cài đặt Elasticsearch.

Cập nhật packet index một lần nữa trước khi tiếp tục.

sudo apt update

Sau đó, chạy cài đặt:

sudo apt install elasticsearch

Gói này là khoảng 300MB. Hãy để hệ thống tải xuống kho lưu trữ và hoàn tất cài đặt.

Khởi động service Elasticsearch

Sau khi cài đặt xong, Elasticsearch sẽ không chạy cho đến khi bạn khởi động. Ngoài ra, khi bạn khởi động lại máy, bạn cần chạy lại service Elasticsearch vì nó không tự động khởi động.

Để Elasticsearch tự động tải lại khi hệ thống khởi động lại, hãy sử dụng các lệnh sau:

Đầu tiên, tải lại cấu hình hệ thống:

sudo systemctl daemon-reload

Sau đó, bật service Elasticsearch với:

sudo systemctl enable elasticsearch.service

Và cuối cùng, sau khi service được bật, hãy khởi động Elasticsearch:

sudo systemctl start elasticsearch.service

Hãy để quá trình hoàn tất. Có thể mất vài phút. Sẽ không có phản hồi cụ thể từ terminal.

Bây giờ, Elasticsearch sẽ khởi động mỗi khi bạn bật hoặc khởi động lại hệ thống.

Nếu bạn thực hiện thay đổi đối với tệp cấu hình hoặc cần khởi động lại Elasticsearch vì bất kỳ lý do gì, hãy sử dụng:

sudo systemctl restart elasticsearch.service

Khi bạn cần dừng service, hãy sử dụng lệnh sau:

sudo systemctl stop elasticsearch.service

Kiểm tra trạng thái Elasticsearch

Sau khi bạn hoàn tất việc sử dụng các lệnh để bắt đầu, khởi động lại và dừng Elasticsearch, bạn cũng có thể kiểm tra trạng thái của service.

Để làm như vậy, hãy nhập:

service elasticsearch status

Đầu ra hiển thị trạng thái của service, task và thông tin khác.

Cấu hình Elasticsearch

Elasticsearch được cấu hình sẵn để sử dụng cơ bản. Nếu bạn chỉ sử dụng một node trong thiết lập của mình, bạn không phải cấu hình lại công cụ quá nhiều.

Để thực hiện thay đổi đối với cấu hình Elasticsearch mặc định, hãy chỉnh sửa tệp elasticsearch.yml. Tệp nằm trong thư mục /etc/elasticsearch.

Cấu file log nằm trong tệp /var/log/elasticsearch/logging.yml. Bạn có thể để mặc định để ghi logs ngay bây giờ và quay lại sau nếu cần.

Lưu ý: bất cứ khi nào bạn thực hiện thay đổi cấu hình Elasticsearch, hãy sử dụng lệnh sudo systemctl khởi động lại elasticsearch.service để khởi động lại service.

Cho phép Truy nhập Từ xa

Cấu hình mặc định không cho phép máy tính của bạn được truy cập bởi các máy chủ khác. Để cho phép truy cập từ xa, hãy sử dụng trình soạn thảo văn bản bạn chọn và mở tệp elasticsearch.yml.

Chúng ta sẽ sử dụng vim:

sudo vim /etc/elasticsearch/elasticsearch.yml

Cuộn xuống phần Network. Tìm dòng có nghĩa là #network.host.

Tháo bỏ dòng (loại bỏ dấu pound (#), đặt địa chỉ IP thành 0.0.0.0 và thêm các dòng sau:

transport.host: localhost

transport.tcp.port: 9300

http.port: 9200

Phần này sẽ trông như thế này:

Thoát và lưu thay đổi. Nếu làm việc trong vim, dùng :wq.

Cấu hình này cho phép máy chủ từ xa truy nhập vào máy này.

Lưu ý: Hãy chắc chắn thêm tất cả các dòng chúng ta đã liệt kê ở trên. Nếu bạn chỉ đặt network.host thành 0.0.0.0, bạn có thể khởi động lại service Elasticsearch sau khi thay đổi này.

Sử dụng UFW để bảo mật Elasticsearch (Tùy chọn)

Nếu bạn cho phép truy cập từ xa vào Elasticsearch, chúng ta khuyên bạn nên sử dụng công cụ UFW, như một biện pháp bảo mật tối thiểu.

Tường lửa không biến chứng (UFW) được tích hợp vào Linux và bị vô hiệu hóa theo mặc định. Bật UFW và tạo một vài quy tắc để hạn chế sự tiếp xúc của mạng của bạn.

Trước khi bật UFW, hãy thêm các quy tắc cần thiết. Để truy cập từ xa qua SSH, bạn cần cho phép truy cập trên port 22 (hoặc port tùy chỉnh nếu bạn thay đổi cấu hình SSH mặc định).

Trong terminal, nhập:

sudo ufw allow 22

Sau đó, bạn cần cho phép truy cập trên port 9200 cho máy từ xa của bạn. Elasticsearch lắng nghe port đó cho các yêu cầu đến.

Tạo quy tắc bằng lệnh này:

sudo ufw allow from <em>external_IP</em> to any port 9200

Thay external_IP bằng IP của máy từ xa sẽ được sử dụng để truy cập Elasticsearch.

Cuối cùng, bật công cụ UFW:

sudo ufw enable

Dưới đây là ví dụ đầu ra cho các lệnh ở trên:

Để đảm bảo bạn đã thêm các quy tắc một cách chính xác, hãy kiểm tra trạng thái của UFW.

sudo ufw status

Lệnh này hiển thị cả trạng thái và chi tiết của các quy tắc bạn đã tạo.

Kiểm tra Elasticsearch

Bây giờ service Elasticsearch đang hoạt động, máy có thể truy cập từ xa và bạn đã bật UFW, bạn có thể sử dụng curl để kiểm tra xem công cụ có hoạt động không.

port nghe mặc định cho Elasticsearch là 9200. Vì vậy, bạn có thể gửi yêu cầu HTTP trên localhost và xem bạn có nhận được phản hồi không.

Để làm như vậy, hãy nhập:

curl localhost:9200

Đầu ra sẽ trông tương tự như ở trên. Bạn sẽ thấy thông tin phiên bản và các trường khác có ngày, băm, v.v.

kết thúc

Hướng dẫn này chỉ cho bạn cách cài đặt Elasticsearch trên máy Ubuntu 18.04 và cách xác minh rằng service đang hoạt động. Nếu có bất kì câu hỏi hoặc thắc mắc, xin vui lòng để lại bình luận.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments