docker elasticsearch6集群

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文件:

1
2
-Xms128m
-Xmx128m

创建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

1
vm.max_map_count=262144
-------------本文结束-------------
0%