我正面临一个奇怪的问题,因为码头集装箱的ES,我运行独立的ES 7.10在码头容器在9200主机端口(内部码头端口与标准9200和9300 ES端口相同),同时,我开始了三个ES码头容器(有一个不同的次要版本的7)(他们应该形成集群让它命名为码头-es-集群)。
这三个ES码头集装箱使用的是主机端口9200、9201、9202,因此使用9200的集群中的ES容器由于端口冲突( ES 7.10) ES容器而无法启动。
因此,我停止了独立的7.10码头容器,并重新启动了3个集群ES容器,但是现在我的其他两个收听9201,9202的ES容器的容器还没有启动,它们的日志包含以下警告:
{“类型”:“服务器”,“时间戳”:"2020-12-14T15:56:57,651+0000",“级别”:“警告”,“组件”:"o.e.c.c.ClusterFormationFailureHelper","cluster.name":“停靠-群集”,"node.name":"es2",“消息”:“主尚未被发现,此节点以前尚未加入引导(v7+)群集,”该节点必须发现主合格节点[]来引导集群:从主机提供者和从最近已知的集群状态的{es2}{eBtsR2XgRVWqPdUAP_n_Ew}{tZ9FRAbPTAmZZle_5MaVoA}{172.18.0.3}{172.18.0.3:9300}{dim}{ml.machine_memory=2084032512,xpack.installed=true,ml.max_open_jobs=20};节点项0,0项中最后接受的版本0“}
在此之后,我停止了所有的码头集装箱,删除了所有的码头映像,做了码头修剪,系统重新启动,但没有任何问题是修复问题,即使我从干净状态开始,似乎集群状态是混乱的2ES容器,它没有得到修复,即使在重新启动码头容器。
下面是用于ES容器的,我不使用卷绑定。
es2:
image: "docker.elastic.co/elasticsearch/elasticsearch:<es-version>"
container_name: 2
environment:
- node.name=2
- cluster.name=docker-cluster
- cluster.initial_master_nodes=1,2,3
- discovery.seed_hosts=1,3
- ES_JAVA_OPTS=-Xms1g -Xmx1g
ports:
- "9201:9200"
networks:
- localenv发布于 2020-12-31 10:03:47
我修复了这个问题,通过使用docker桌面麻烦选项和执行干净/清除选项,如下面的屏幕快照所示。

发布于 2020-12-15 12:38:27
elasticsearch在新版本中(我认为上面是7.8 ),对于将节点与集群连接和分离有非常严格的规则。您不能轻易地分离主节点,甚至数据节点。我建议使用elasticsearch-节点工具:https://www.elastic.co/guide/en/elasticsearch/reference/current/node-tool.html
最简单的方法是在所有节点上使用下面的命令:
elasticsearch-node detach-clusterhttps://stackoverflow.com/questions/65304437
复制相似问题