Hướng dẫn cài Elasticsearch trên Centos 6

  • Friday 22/05/2020

Elasticsearch là một công cụ tìm kiếm dựa trên nền tảng Apache Lucene. Nó cung cấp một bộ máy tìm kiếm dạng phân tán, có đầy đủ công cụ với một giao diện web HTTP có hỗ trợ dữ liệu JSON. Elasticsearch được phát triển bằng Java và được phát hành dạng nguồn mở theo giấy phép Apache.

Điều kiện tiên quyết để sử dụng Elasticsearch

Để chạy được  Elasticsearch thì hệ thống của bạn cần có Java

Để kiểm tra trên server đã có Java chưa, bạn cần dùng lệnh

java -version

java -version java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Nếu Java chưa có bạn cần cài java

yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel -y

Cài đặt Yum Repository cho Elasticsearch

#download signing key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

#create repo file
vi /etc/yum.repos.d/elasticsearch.repo

# Ở đây sử dụng phiên bản 6.x
[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

Cài đặt elasticsearch bằng yum

yum install elasticsearch -y

Cấu hình java_home cho elasticsearch

vim /etc/sysconfig/elasticsearch khai báo thông số JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el6_10.x86_64

Cấu hình network cho elasticsearch

/etc/elasticsearch/elasticsearch.yml

Nếu bạn chỉ sử dụng cho localhost thì bạn khai báo 127.0.0.1, 
Nếu muốn IP bên ngoài server thì cần khai báo IP của server

# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 127.0.0.1


Trường hợp bạn sử dụng 1  node server thì khai báo

discovery.type: single-node

Khởi động lại elasticsearch

service elasticsearch restart

Mặc định dữ liệu của elasticsearch được lưu  /var/lib/elasticsearch

Kiểm tra dịch vụ elasticsearch

Sau khi start service elasticsearch xong, bạn có thể dùng lệnh

curl -X GET “localhost:9200/?pretty”

curl -X GET "localhost:9200/?pretty"
{
"name" : "wcYkmMi",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "xNd8dRTUR1-gHYjlWbYMog",
"version" : {
"number" : "6.8.8",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "2f4c224",
"build_date" : "2020-03-18T23:22:18.622755Z",
"build_snapshot" : false,
"lucene_version" : "7.7.2",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}