elasticsearch - 如何在 Elasticsearch 6.1 中设置自动搜索节点

标签 elasticsearch elasticsearch-6

我在 ES 6.1 中创建了 5 个节点的集群。当我将带有其他节点的所有 IP 地址的行添加到配置文件 elasticsearch.yaml 中时,我能够创建集群 discovery.zen.ping.unicast.hosts .它看起来像这样:

discovery.zen.ping.unicast.hosts: ["10.206.81.241","10.206.81.238","10.206.81.237","10.206.81.239"]

当我的配置文件中有这一行时,一切正常。
ip            heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.206.81.241            9          54   0    0.03    0.05     0.05 mi        *      master4
10.206.81.239           10          54   0    0.00    0.01     0.05 mi        -      master1
10.206.81.238           14          54   0    0.00    0.01     0.05 mi        -      master3
10.206.81.240           15          54   0    0.00    0.01     0.05 mi        -      master5
10.206.81.237           10          54   0    0.00    0.01     0.05 mi        -      master2

当我添加 discovery.zen.ping.multicast.enabled: true elasticsearch 不会启动。

我想要更多的节点,如果我必须单独配置每个文件并每次都为每个配置添加新地址,这不是正确的方法。那么有没有办法设置ES6自动查找新节点呢?

编辑:
journalctl -f输出:
led 08 10:43:04 elk-prod3.user.dc.company.local polkitd[548]: Registered Authentication Agent for unix-process:23395:23676999 (system bus name :1.162 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
led 08 10:43:04 elk-prod3.user.dc.company.local systemd[1]: Stopping Elasticsearch...
led 08 10:43:04 elk-prod3.user.dc.company.local systemd[1]: Started Elasticsearch.
led 08 10:43:04 elk-prod3.user.dc.company.local systemd[1]: Starting Elasticsearch...
led 08 10:43:04 elk-prod3.user.dc.company.local polkitd[548]: Unregistered Authentication Agent for unix-process:23395:23676999 (system bus name :1.162, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
led 08 10:43:07 elk-prod3.user.dc.company.local systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
led 08 10:43:07 elk-prod3.user.dc.company.local systemd[1]: Unit elasticsearch.service entered failed state.
led 08 10:43:07 elk-prod3.user.dc.company.local systemd[1]: elasticsearch.service failed.

最佳答案

基本上你应该有“稳定”的节点。我的意思是您应该拥有始终属于集群一部分的 IP

discovery.zen.ping.unicast.hosts: [MASTER_NODE_IP_OR_DNS, MASTER2_NODE_IP_OR_DNS, MASTER3_NODE_IP_OR_DNS]

然后,如果您使用自动缩放或添加节点,他们必须与该 ip“交谈”,让他们知道他们正在加入集群。

你还没有提到你的网络设置,所以我可以肯定地说你出了什么问题。但我记得单播主机是推荐的方法

附注。如果您使用的是 azure,我修改了名为 VM 规模集的功能 template到我的需要。想法是,默认情况下我总是使用 3 个节点,如果我的集群已加载,规模集将动态添加更多节点。

关于elasticsearch - 如何在 Elasticsearch 6.1 中设置自动搜索节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48147659/

相关文章:

java - ElasticSearch 轮询不起作用

java - 如何在存储桶排序聚合期间在 Java Elasticsearch 客户端中指定 from 子句

elasticsearch - Elasticsearch:自定义 token 过滤器

elasticsearch - 如何确定我传递的结果的优先级?

Elasticsearch:访问由 filebeat 创建的多个索引

spring - 使用Spring数据Elasticsearch存储库搜索进行别名并保持冲突

elasticsearch - 如何在Elasticsearch中用逗号查找数字?

node.js - ElasticSearch/npm:elasticdump:转储响应数据期间发生意外的 token 错误

elasticsearch - 有什么方法可以在文档中添加该字段,但对_source隐藏该字段,还应该对文档进行分析和搜索

elasticsearch - 在 Elasticsearch 6 上找不到 org.elasticsearch.common.transport.InetSocketTransportAddress