Cài đặt Elasticsearch bằng docker trên CentOS
11th Mar 2022Cài trực tiếp chưa dùng Docker
Ở đây chọn cài đặt phiên bản ES 7.x
Cài đặt Java do ES chạy trên nền tảng JAVA nên cần đảm bảo hệ thống có JAVA, kiểm tra bằng lệnh:
java -version
Nếu chưa có thì cần cài đặt bằng các lệnh sau:
sudo yum install java-1.8.0-openjdk-devel -y
Thiết lập PGP key cho ES (https://pgp.mit.edu) gõ lệnh sau:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Thiết lập Repository
Tạo / mở file elasticsearch.repo
vi /etc/yum.repos.d/elasticsearch.repo
Chèn nội dung sau vào
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Dung cai dat ban 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
Gõ lệnh cài đặt
yum install elasticsearch
Kích hoạt dịch vụ ES
systemctl enable elasticsearch.service systemctl start elasticsearch.service
Mở firewall nếu cần thiết
firewall-cmd --permanent --add-port=9200/tcp firewall-cmd --permanent --add-port=9300/tcp firewall-cmd --reload
Kiểm tra
curl -X GET localhost:9200 { "name" : "localhost.localdomain", "cluster_name" : "elasticsearch", "cluster_uuid" : "cy-pH1W2S2mb38smYQeoOA", "version" : { "number" : "7.1.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "606a173", "build_date" : "2019-05-16T00:43:15.323135Z", "build_snapshot" : false, "lucene_version" : "8.0.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Từ ngoại mạng có thể kiểm tra bằng truy vấn đến IP của server ES
curl -X GET IP:9200
Cấu hình Elasticsearch trên CentOS Server
File cấu hình tại /etc/elasticsearch/elasticsearch.yml
Các loại thiết lập chỉnh ở trong file này, ví dụ như chỉnh lại cổng, ip network ..., có thể xem xét những cấu hình như:
network.host: 0.0.0.0 http.port: 9200
# thiết lập chỉ 1 server, hủy kiểm tra bootstrap
discovery.type: single-node
Sau khi chỉnh để khởi động lại gõ:
systemctl restart elasticsearch
Dùng Docker
Sau đây là file docker-compose.yml với nội dung tạo ra container Docker chạy Elasticsearch và Kibana với mục tiêu như sau:
Elasticsearch (elasticsearch:7.0.1) lắng nghe ở cổng 9200, một node tên là elasticsearch và khởi tạo là master node, đặt tên cluster là datasearch
Nơi lưu dữ liệu của node là ổ đĩa ánh xạ thư mục /Users/xuanthulab/Desktop/xdata/docker/elasticsearch/data (bạn thay bằng thư mục máy host Docker của bạn).
Container chạy kibana (kibana:7.0.1) lắng nghe ở cổng 5601
docker-compose.yml
version: '2.2' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1 container_name: elasticsearch environment: - node.name=elasticsearch - discovery.seed_hosts=elasticsearch - cluster.initial_master_nodes=elasticsearch - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - esdata1:/usr/share/elasticsearch/data ports: - 9200:9200 kibana: image: docker.elastic.co/kibana/kibana:7.1.1 container_name: kibana environment: ELASTICSEARCH_URL: "http://elasticsearch:9200" ports: - 5601:5601 depends_on: - elasticsearch volumes: esdata1: driver: local
Với file docker-compose.yml này, chạy Docker (xem thêm Sử dụng Docker-compose)vào thư mục lưu file này và gõ lệnh để chạy các dịch vụ trên:
docker-compose up
Sau lệnh này nó sẽ tải các image docker tương ứng về và khởi chạy 2 dịch vụ là Elasticsearch (http://localhost:9200) và Kibana (http://localhost:5601)
Và như vậy đã có ES để thực hành.
Add new comment