1. 程式人生 > >docker-compose安裝elasticsearch叢集

docker-compose安裝elasticsearch叢集

檔案目錄:

1、編寫docker-compose檔案

version: '3'
services:
     es-master:
       image:  elasticsearch:6.4.3
       container_name: es-master
       restart: always
       volumes:
         - ./master/data:/usr/share/elasticsearch/data:rw
         - ./master/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
         
- ./master/logs:/user/share/elasticsearch/logs:rw ports: - "9200:9200" - "9300:9300" es-node1: image: elasticsearch:6.4.3 container_name: es-node1 restart: always volumes: - ./node1/data:/usr/share/elasticsearch/data:rw - ./node1/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./node1/logs:/user/share/elasticsearch/logs:rw es-node2: image: elasticsearch:6.4.3 container_name: es-node2 restart: always volumes: - ./node2/data:/usr/share/elasticsearch/data:rw - ./node2/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./node2/logs:/user/share/elasticsearch/logs:rw es-head: image: tobias74/elasticsearch-head:6 container_name: es-head restart: always ports: - "9100:9100"

es-master:master節點,確定分片位置,索引的新增、刪除請求分配

es-node1:分片的 CRUD,以及搜尋和整合操作

es-node2:分片的 CRUD,以及搜尋和整合操作

es-head:es的一個外掛,目前官方版本只支援5.0。可以瀏覽和檢視資料,可以類比於navcate相對於mysql的作用。

2、編寫yml配置檔案

(1) master配置檔案

bootstrap.memory_lock: false
cluster.name: "es-cluster"
node.name: es-master
node.master: true
node.data: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: *.*.*.*:9300, *.*.*.*:9301, *.*.*.*:9302
discovery.zen.minimum_master_nodes: 1

path.logs: /usr/share/elasticsearch/logs
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.audit.enabled: true            
http.cors.enabled: true
http.cors.allow-origin: "*"
上面的配置是為了使es-head能連線到es叢集

(2) node配置檔案

cluster.name: "es-cluster"
node.name: node2
node.master: false
node.data: true
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9302
discovery.zen.ping.unicast.hosts: *.*.*.*:9300,  *.*.*.*:9301,  *.*.*.*:9302

path.logs: /usr/share/elasticsearch/logs

 node1 的配置和node2的配置基本一致

3、執行命令

docker-compose up

4、ES-HEAD訪問