Tìm kiếm bài viết

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

16.05.2019

0/5 (0 Reviews)

Cách cài đặt Elaticsearch trên CentOS 7. Elaticsearch 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ở.

    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.

    CÓ THỂ BẠN QUAN TÂM

    Bài Viết Cùng Chuyên Mục

    XEM THÊM
    thumbnail

    Kubernetes bài 6 - Vận hành k8s Day-Two Operations và Quản trị bằng GitOps

    22.05.2026

    Khi cụm Kubernetes của bạn đã được bảo mật cấu hình, tối ưu tài nguyên và thiết lập tự phục hồi, câu hỏi đặt ra là làm sao để duy trì sự ổn định đó trong nhiều năm tiếp theo mà không bị phụ thuộc

    thumbnail

    Kubernetes bài 5 - bảo mật Cloud Native và chuẩn DevSecOps cho K8s

    22.05.2026

    Việc siết chặt an ninh (Hardening) không phải là cấu hình một vài thông số rồi bỏ đó, mà là một tư duy phòng thủ chiều sâu.

    thumbnail

    Kubernetes bài 4 - Tối ưu Resource Auto-Healing và Scale Zero-Downtime

    22.05.2026

    Bài viết này sẽ đi sâu vào các cơ chế ở tầng Kernel giúp hệ thống tự phục hồi, chống lại các đợt tấn công cạn kiệt tài nguyên và cập nhật phiên bản mới mà người dùng không hề hay biết.

    thumbnail

    Kubernetes bài 3 - Bảo mật cấu hình k8s và config Security trên Production

    22.05.2026

    Kubernetes giải quyết bài toán này bằng hai đối tượng chuyên biệt nhưng nếu không hiểu rõ bản chất bảo mật ở tầng dưới, bạn đang tự tay dâng toàn bộ chìa khóa hệ thống cho hacker.

    thumbnail

    Kubernetes bài 2 - Mạng lưới k8s và luồng Traffic ở Packet Level

    22.05.2026

    Pod không chỉ là một container: Rất nhiều người nhầm lẫn Pod 1-1 với Container. Thực chất, Pod là đơn vị triển khai nhỏ nhất, có thể chứa một hoặc nhiều container

    Mục lục bài viết