GG
docker-compose.yml на всех 3 нодах одинаковый
cat docker-compose.yml
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.0.2
restart: always
container_name: elasticsearch
environment:
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms6g -Xmx6g"
- xpack.security.enabled=false
- "discovery.zen.ping.unicast.hosts=real_ip_node1:9500,real_ip_node2:9500,real_ip_node3:9500"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9400:9200"
- "9500:9300"
volumes:
- ./hunspell:/usr/share/elasticsearch/config/hunspell
- esdata:/usr/share/elasticsearch/data
- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /backup_es/snapshot:/backup_es/snapshot
volumes:
esdata:
driver: local
тут меняется только node.name
cat elasticsearch.yml
node1
cluster.name: docker
node.name: n1
network.host: 0.0.0.0
bootstrap.memory_lock: true
xpack.monitoring.enabled: false
cluster.routing.allocation.disk.threshold_enabled: false
discovery.zen.minimum_master_nodes: 2
transport.host: 0.0.0.0
path.repo: ["/backup_es/snapshot"]
node2
cluster.name: docker
node.name: n2
network.host: 0.0.0.0
bootstrap.memory_lock: true
xpack.monitoring.enabled: false
cluster.routing.allocation.disk.threshold_enabled: false
discovery.zen.minimum_master_nodes: 2
transport.host: 0.0.0.0
path.repo: ["/backup_es/snapshot"]
docker exec -it elasticsearch env
PATH=/usr/share/elasticsearch/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=c08afe882535
TERM=xterm
bootstrap.memory_lock=true
ES_JAVA_OPTS=-Xms6g -Xmx6g
xpack.security.enabled=false
discovery.zen.ping.unicast.hosts=real_ip_node1:9500,real_ip_node2:9500,real_ip_node3:9500
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
HOME=/usr/share/elasticsearch
в логах второй ноды
[2019-09-22T12:37:38,791][WARN ][o.e.d.z.ZenDiscovery ] [n2] failed to connect to master [{db3}{FfkGHzdXT-OJhZ8XWZf1BQ}{Mydsy6sqTOOBSZSrszMjsA}{172.23.0.2}{172.23.0.2:9300}], retrying...
org.elasticsearch.transport.ConnectTransportException: [n1][172.23.0.2:9300] connect_timeout[30s]
на первой ноде curl 127.0.0.1:9400/_cat/nodes?v
[2019-09-22T12:38:06,686][WARN ][r.suppressed ] path: /_cat/nodes, params: {v=}
org.elasticsearch.discovery.MasterNotDiscoveredException
at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$5.onTimeout(TransportMasterNodeAction.java:214) [elasticsearch-5.0.2.jar:5.0.2]
с первой ноды
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' elasticsearch
172.23.0.2
с второй
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' elasticsearch
172.25.0.2
что не так с настройками, почему он коннектится со второй ноды к первой через внутренние айпишки докера или может кто-то такое уже настраивал и поделится конфигами?