首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES Docker容器没有加入具有相同集群名称的另一个码头容器

ES Docker容器没有加入具有相同集群名称的另一个码头容器
EN

Stack Overflow用户
提问于 2020-12-15 10:52:25
回答 2查看 447关注 0票数 1

我正面临一个奇怪的问题,因为码头集装箱的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容器的,我不使用卷绑定

代码语言:javascript
复制
 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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-31 10:03:47

我修复了这个问题,通过使用docker桌面麻烦选项和执行干净/清除选项,如下面的屏幕快照所示。

票数 0
EN

Stack Overflow用户

发布于 2020-12-15 12:38:27

elasticsearch在新版本中(我认为上面是7.8 ),对于将节点与集群连接和分离有非常严格的规则。您不能轻易地分离主节点,甚至数据节点。我建议使用elasticsearch-节点工具:https://www.elastic.co/guide/en/elasticsearch/reference/current/node-tool.html

最简单的方法是在所有节点上使用下面的命令:

代码语言:javascript
复制
elasticsearch-node detach-cluster
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65304437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档