0

我正在构建一个在 Windows ServerCore 下运行 ES v7.5.1 的 docker 映像,但这似乎不起作用。

当我启动 docker 容器时,我有一条消息说节点无法加入集群。

[oeccClusterFormationFailureHelper] [66EADAF2C321] 尚未发现主节点,此节点之前未加入引导 (v7+) 集群,并且此节点上的 [cluster.initial_master_nodes] 为空:已发现 [{66EADAF2C321}{PLdolNAJSfC_tyPB32cLtQ}{YC0BB7okSFOBA_i9GqI6xA}{172.27 .103.24}{172.27.103.24:9300}{dilm}{ml.machine_memory=1072611328,xpack.installed=true,ml.max_open_jobs=20}];发现将继续使用来自主机提供商的 [127.0.0.1:9300, [::1]:9300] 和 [{66EADAF2C321}{PLdolNAJSfC_tyPB32cLtQ}{YC0BB7okSFOBA_i9GqI6xA}{172.27.103.24}{172.27.103.24:9300}{dilm}{ml .machine_memory=1072611328, xpack.installed=true, ml.max_open_jobs=20}] 来自上次已知的集群状态;节点术语 0,术语 0 中最后接受的版本 0

如果我在笔记本电脑上运行 ES,它可以正常工作(相同的 elasticsearch.yml 文件)。

你知道为什么 docker 失败了吗?

elasticsearch.yml 文件:

网络主机:0.0.0.0

集群名称:弹性搜索

path.logs: L:/ path.data: D:/

发现.seed_hosts:127.0.0.1,[::1]

http.port: 9200

和泊坞窗图像:

docker pull mydockeruniversity/elasticsearchservercore:751-beta1-cfgchange1
4

1 回答 1

0

该节点无法连接到其他节点并形成集群,因为您没有在discovery.seed_hosts设置中配置它们。现在您告诉您的节点他们应该尝试连接到 localhost (127.0.0.1) 以查找其他节点。由于您位于 docker 容器内,因此该地址下不会有任何节点。

相反,您需要在该设置中提供主合格节点的主机名或 IP 地址,如下所示:

discovery.seed_hosts:
  - 192.168.1.10:9300
  - 192.168.1.11 
  - seeds.mydomain.com 

您可能想查看发现文档以更好地了解该主题。

于 2020-01-05T17:01:24.437 回答