无法在AWS EC2拥有的集群

时间:2017-08-16 14:31:51

标签: elasticsearch amazon-ec2

我正在尝试构建一个包含3个EC2实例的集群(我不想使用亚马逊的ElasticSearch服务),并且在安装软件并在所有三个实例中进行配置后,我遇到了他们不与每个实例进行通信的问题其他

  • 我在使用Ubuntu 16.04
  • 的实例上使用ES 5.5.1
  • 所有节点都已启动并正在运行
  • 所有节点都有一个AWS安全组,其中包含节点(所有端口)之间所有流量的权限
  • 每个节点的机器白名单上的内部防火墙

cluster.name: excelle
node.name: ${HOSTNAME}
node.master: true
path.data: /srv/data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 172.31.MAS.TER
discovery.zen.ping.unicast.hosts: ["172.31.MAS.TER", "172.31.NODE.TWO", "172.31.NODE.THREE"] 

节点二

cluster.name: excelle
node.name: ${HOSTNAME}
node.master: false
path.data: /srv/data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 172.31.NODE.TWO
discovery.zen.ping.unicast.hosts: ["172.31.MAS.TER", "172.31.NODE.TWO", "172.31.NODE.THREE"] 

节点3

cluster.name: excelle
node.name: ${HOSTNAME}
node.master: false
path.data: /srv/data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 172.31.NODE.THREE
discovery.zen.ping.unicast.hosts: ["172.31.MAS.TER", "172.31.NODE.TWO", "172.31.NODE.THREE"] 

但是在日志上,节点3上的例子......

[2017-08-15T11:01:41,241][INFO ][o.e.d.z.ZenDiscovery     ] [es03] failed to send join request to master [{esmaster}{scquEEaETDKMKLHzZvEHZQ}{NdLtMUXtT7WXnv1a4uHWqQ}{172.31.44.107}{172.31.44.107:9300}], reason [RemoteTransportException[[esmaster][172.31.44.107:9300][internal:discovery/zen/join]]; nested: ConnectTransportException[[es03][172.31.18.76:9300] connect_timeout[30s]]; nested: IOException[connection timed out: 172.31.18.76/172.31.18.76:9300]; ]

我测试从节点3到主站的连接没有问题(对于网络问题)

telnet 172.31.MAS.TER 9300
Trying 172.31.MAS.TER...
Connected to 172.31.MAS.TER.
Escape character is '^]'.

出了什么问题?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我在ElasticSearch

上找到了对此的答案

宝石来自manst: “此错误的解决方案(您必须删除数据文件夹的内容(/ var / lib / elasticsearch / nodes / 0)并重新启动两个服务器):”

我从每个SpotInst实例中删除了nodes文件夹并重新启动。我的3个ES分布式主节点全部上线。我的8个仅数据节点已自动连接,没有任何问题。