docker elasticsearch6集群
第一种集群
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.8.10 container_name: elasticsearch environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - /home/es/data1:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - esnet elasticsearch2: image: docker.elastic.co/elasticsearch/elasticsearch:6.8.10 container_name: elasticsearch2 environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "discovery.zen.ping.unicast.hosts=elasticsearch" ulimits: memlock: soft: -1 hard: -1 volumes: - /home/es/data2:/usr/share/elasticsearch/data
|
第二种集群
1 2 3 4 5 6 7 8 9 10 11 12 13
| # es01.yml cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 network.publish_host: 10.211.55.4 http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.211.55.4:9300","10.211.55.4:9301","10.211.55.4:9302"] discovery.zen.minimum_master_nodes: 2
|
其他两个es配置文件类似:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| # es02.yml cluster.name: elasticsearch-cluster node.name: es-node2 network.bind_host: 0.0.0.0 network.publish_host: 10.211.55.4 http.port: 9201 transport.tcp.port: 9301 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.211.55.4:9300","10.211.55.4:9301","10.211.55.4:9302"] discovery.zen.minimum_master_nodes: 2
# es03.yml cluster.name: elasticsearch-cluster node.name: es-node2 network.bind_host: 0.0.0.0 network.publish_host: 10.211.55.4 http.port: 9202 transport.tcp.port: 9302 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.211.55.4:9300","10.211.55.4:9301","10.211.55.4:9302"] discovery.zen.minimum_master_nodes: 2
|
由于默认es实例是1g,太吃内存了,我们修改一下jvm参数,每个es目录下放一个jvm.option
文件:
创建es容器并启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| docker create --name es01 --net host -v /es-cluster/es01/es01.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /es-cluster/es01/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /es-cluster/es01/data:/usr/share/elasticsearch/data elasticsearch:6.8.5
docker create --name es02 --net host -v /es-cluster/es02/es02.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /es-cluster/es02/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /es-cluster/es02/data:/usr/share/elasticsearch/data elasticsearch:6.8.5
docker create --name es03 --net host -v /es-cluster/es03/es03.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /es-cluster/es03/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /es-cluster/es03/data:/usr/share/elasticsearch/data elasticsearch:6.8.5
es01: image: elasticsearch:6.8.6 container_name: es01 environment: - node.name=es01 - cluster.name=bastion-es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 volumes: - /opt/es-cluster/config/es01.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /opt/es-cluster/data:/usr/share/elasticsearch/data - /opt/es-cluster/logs:/usr/share/elasticsearch/logs ports: - 9200:9200 network_mode: host es02: image: elasticsearch:6.8.6 container_name: es02 environment: - node.name=es02 - cluster.name=bastion-es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 volumes: - /opt/es-cluster/config/es02.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /opt/es-cluster/data:/usr/share/elasticsearch/data - /opt/es-cluster/logs:/usr/share/elasticsearch/logs network_mode: host es03: image: elasticsearch:6.8.6 container_name: es03 environment: - node.name=es03 - cluster.name=bastion-es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms128m -Xmx128m" ulimits: memlock: soft: -1 hard: -1 volumes: - /opt/es-cluster/config/es03.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /opt/es-cluster/data:/usr/share/elasticsearch/data - /opt/es-cluster/logs:/usr/share/elasticsearch/logs network_mode: host #https://codeleading.com/article/31612986574/
|
中文分词ik集群
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| elasticsearch: image: bolingcavalry/elasticsearch-with-ik:6.5.0 container_name: elasticsearch environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - http.cors.enabled=true - http.cors.allow-origin=* - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - /home/es/data1:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - esnet elasticsearch2: image: bolingcavalry/elasticsearch-with-ik:6.5.0 container_name: elasticsearch2 environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - http.cors.enabled=true - http.cors.allow-origin=* - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "discovery.zen.ping.unicast.hosts=elasticsearch" ulimits: memlock: soft: -1 hard: -1 volumes: - /home/es/data2:/usr/share/elasticsearch/data head: image: bolingcavalry/elasticsearch-head:6 container_name: head ports: - 9100:9100
|
浏览器访问此地址可以使用head插件:http://192.168.1.101:9100
权限
1
| chmod 777 home/es/data/ -R
|
修改系统配置参数
vim /etc/sysctl.conf