ElasticSearch 集群在 Azure 上启动 5 分钟后失败

ElasticSearch 集群在 Azure 上启动 5 分钟后失败

我正在尝试在 Azure 上构建 ElasticSearch 集群。我已成功使用同一虚拟网络下的 3 台虚拟机进行了测试。它运行良好。

由于我的订阅限制,我将这 3 个 VM 分配到 3 个不同的订阅中。唯一的区别是 VM 不在同一个虚拟网络下,由于 Azure 的订阅和结构不同,这是不可能的……我为 publish_host 设置使用了公共 IP。它工作了 5-6 分钟,我可以创建索引或执行 CRUD 操作。几分钟后,子节点变得无响应,_cluster/health 没有响应,我只能到达主节点,它显示集群的运行状况为绿色,但事实并非如此。

如果我尝试创建索引,它会因子节点无响应而无法创建分片,卡住。一周以来,我尝试了很多方法,比如不同的配置组合,但找不到解决方案。我检查了所有日志,即使我将它们设置为调试或跟踪模式,它们也没有提供任何信息。我​​得到的只是主节点在大约 10 分钟后出现的无法访问节点错误。我正在发布我的配置详细信息:

操作系统:Ubuntu 16.04,Canonical 提供的默认镜像,9200 和 9300 端口开放。Java 版本:oracle-java8 ElasticSearch:2.3.3 和 2.3.4 均相同。

如果您愿意,我也可以提供我的日志,但据我所知没有任何线索。

cluster.name: Alpha
node.name: Vulcan
network.host: _eth0_ #tried 0.0.0.0 too. eth0 is a local ip address like 10.0.0.4 or 192.168.0.4 assigned by the nic.
network.publish_host: myes1.westeurope.cloudapp.azure.com # I have to use this parameter when my nodes are not under the same network, but setting this variable creates the problem I explained.
discovery.zen.ping.unicast.hosts: ["myes1.westeurope.com","myes2.westeurope.cloudapp.azure.com","myes3.westeurope.cloudapp.azure.com"]
discovery.zen.minimum_master_nodes: 2
#Paths
path:
  logs: /var/log/elasticsearch
  data: /var/data/elasticsearch

PS Azure Discovery 对我来说不是一个合适的解决方案。我使用 ARM VM 而不是云服务。

相关内容