Elasticsearch là một công cụ phân tích và tìm kiếm toàn văn bản được 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 lớn dữ liệu 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 cho các ứng dụng 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.
Trong bài này mình sẽ hướng dẫn cách cài đặt Elasticsearch trên CentOS 7.
Cài đặt Elasticsearch
Để cài đặt Elasticsearch đầu tiên mình sẽ cài đặt Java 8 :
sudo yum install java-1.8.0-openjdk-devel
Tiếp theo mình sẽ kiểm cài đặt bằng cách in ra phiên bản :
java -version
Sau khi 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 lệnh sau:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Tiếp theo dán nội dung sau vào file /etc/yum.repos.d/elasticsearch.repo:
sudo vi /etc/yum.repos.d/elasticsearch.repo [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
Sau đó lưu và đóng file.
Bây giờ bạn có thể cài đặt Elasticsearch bằng cách như sau :
sudo yum install elasticsearch
Tiếp theo kích hoạt và khởi động dịch vụ :
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 sau :
curl -X GET "localhost:9200/"
Để xem các thông báo được ghi lại bằng dịch vụ Elasticsearch, bạn có thể sử dụng lệnh sau :
sudo journalctl -u elasticsearch
Mình đã cài đặt Elasticsearch trên máy chủ CentOS của mình.
Cấu hình Elasticsearch
Theo mặc định, Elasticsearch được định cấu hình để chỉ đi 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 duy nhất, bạn không cần phải thay đổi tệp cấu hình mặc định.
Truy cập từ xa
để Elasticsearch có thể truy cập từ xa thì mình cần mở Firewall và cho phép port 9200 đi qua.
Ví dụ: để chỉ cho phép các kết nối từ 192.1.168.121.80/32, hãy nhập lệnh sau:
Chạy lệnh sau để cho phép đánh giá từ địa chỉ IP 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.121.80/32 --permanent sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent sudo firewall-cmd --reload
Sau đó, nếu bạn muốn cho phép truy cập từ một Địa chỉ IP khác làm như sau :
sudo firewall-cmd --zone=elasticsearch --add-source=<địa chỉ IP> --permanent sudo firewall-cmd --reload
Sau khi Firewall được cấu hình, Tiếp theo mình sẽ cấu hình cho phép Elasticsearch đi ra các kết nối bên ngoài.
Mình sẽ chỉnh file elasticsearch.yml như sau :
sudo vi /etc/elasticsearch/elasticsearch.yml network.host: 0.0.0.0
Khởi động lại dịch vụ Elasticsearch để các thay đổi có hiệu lực:
sudo systemctl restart elasticsearch
vậy là mình có thể kết nối với server Elasticsearch từ xa.
Kết luận
Mình đã hướng đẫn cách cài đặt và cấu hình Elasticsearch trên CentOS 7.
Nếu bạn có những câu hỏi nào hoặc vẫn đề nào đừng quên để lại câu hỏi bên dưới mình sẽ giải quyết tất cả cho bạn.
Nguồn : Linuxize.com