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

0/5 (0 Reviews)

Tóm Tắt

Elasticsearch là một công cụ phân tích và tìm kiếm toàn văn bản phân phối mã nguồn mở. Nó hỗ trợ các hoạt động RESTful và cho phép bạn lưu trữ, tìm kiếm và phân tích khối lượng dữ liệu lớn trong thời gian thực.

Elasticsearch là một trong những công cụ tìm kiếm phổ biến nhất cung cấp các ứng dụng có các yêu cầu tìm kiếm phức tạp như các cửa hàng thương mại điện tử lớn và các ứng dụng phân tích.

Cách cài đặt Elaticsearch trên CentOS 7

Hướng dẫn này giải thích cách cài đặt Elasticsearch trên CentOS 7.

Điều kiện đầu tiên

Người dùng mà bạn đã đăng nhập phải có đặc quyền sudo để có thể cài đặt các gói.

Cài đặt Elasticsearch

Tại thời điểm viết bài viết này, phiên bản mới nhất của Elasticsearch là 6,7 và yêu cầu Java 8 trở lên.

Để cài đặt OpenJDK 8 trên hệ thống CentOS của bạn:

sudo yum install java-1.8.0-openjdk-devel

Xác minh cài đặt Java bằng cách in phiên bản Java:

java -version

Đầu ra sẽ trông giống như thế này:

openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

Bây giờ Java đã được cài đặt, bước tiếp theo là thêm kho lưu trữ Elasticsearch.

Nhập khóa GPG của kho lưu trữ bằng cách sử dụng lệnh sau:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Mở trình soạn thảo văn bản của bạn và tạo tệp repo sau:

sudo nano /etc/yum.repos.d/elasticsearch.repo

Dán nội dung sau vào tập tin:

[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Lưu tệp và đóng trình soạn thảo văn bản của bạn.

Nếu bạn muốn cài đặt phiên bản Elasticsearch trước đó, hãy thay đổi 6.x trong lệnh trên với phiên bản bạn cần.

Bây giờ bạn có thể cài đặt gói Elasticsearch bằng cách nhập:

sudo yum install elasticsearch

Khi quá trình cài đặt hoàn tất, hãy bắt đầu và kích hoạt dịch vụ bằng cách chạy:

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

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/"
{
  "name" : "fLVNqN_",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6zKcQppYREaRH0tyfJ9j7Q",
  "version" : {
    "number" : "6.7.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "8453f77",
    "build_date" : "2019-03-21T15:32:29.844721Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Để xem các tin nhắn được ghi lại bởi dịch vụ Elasticsearch, bạn có thể sử dụng lệnh bên dưới:

sudo journalctl -u elasticsearch

Tại thời điểm này, bạn đã cài đặt Elasticsearch trên máy chủ CentOS của mình.

Cấu hình Elasticsearch

Dữ liệu Elasticsearch được lưu trữ trong thư mục /var/lib/elasticsearch , các tệp cấu hình được đặt trong /etc/elasticsearch.

Theo mặc định, Elasticsearch được cấu hình để chỉ nghe trên localhost. Nếu máy khách kết nối với cơ sở dữ liệu cũng đang chạy trên cùng một máy chủ và bạn đang thiết lập một cụm nút đơn, bạn không cần phải thay đổi tệp cấu hình mặc định.

Remote Access

Ngoài hộp Elasticsearch, không triển khai xác thực để bất kỳ ai có thể truy cập API HTTP đều có thể truy cập được. Nếu bạn muốn cho phép truy cập từ xa vào máy chủ Elasticsearch của mình, bạn sẽ cần định cấu hình tường lửa của mình và chỉ cho phép truy cập vào cổng Elasticsearch 9200 từ các máy khách đáng tin cậy.

Bắt đầu với CentOS 7, FirewallD thay thế iptables làm công cụ quản lý tường lửa mặc định. Chạy lệnh sau để cho phép đánh giá từ địa chỉ IP đáng tin cậy từ xa trên cổng 9200:

sudo firewall-cmd --new-zone=elasticsearch --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=elasticsearch --add-source=192.168.88.83/32 --permanent
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

Đừng quên thay đổi 192.168.88.83 bằng Địa chỉ IP từ xa của bạn.

Sau này, nếu bạn muốn cho phép truy cập từ một Địa chỉ IP khác, hãy sử dụng:

sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent
sudo firewall-cmd --reload

Khi tường lửa được cấu hình, bước tiếp theo là chỉnh sửa cấu hình Elasticsearch và cho phép Elasticsearch lắng nghe các kết nối bên ngoài.

Để làm như vậy, hãy mở tệp cấu hình elasticsearch.yml.

sudo nano /etc/elasticsearch/elasticsearch.yml

Tìm kiếm dòng có chứa network.host, bỏ ghi chú và thay đổi giá trị thành 0.0.0.0:

network.host: 0.0.0.0

Nếu bạn có nhiều giao diện mạng trên máy của mình, bạn có thể chỉ định địa chỉ IP giao diện, điều này sẽ khiến Elasticsearch chỉ nghe trên giao diện đã chỉ định.

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

sudo systemctl restart elasticsearch

Đó là nó. Bây giờ bạn có thể kết nối với máy chủ Elasticsearch từ vị trí từ xa của bạn.

Kết luận

Bạn đã cài đặt thành công Elasticsearch trên CentOS 7. 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.

Dịch vụ seo