我是亚马逊AWS的新手。我在AWS EC2中有两台机器,两台机器上都安装了elasticsearch。我希望两台机器都成为elasticsearch中单个集群的一部分。如何让它们在amazon AWS中相互交互。任何帮助将不胜感激..
答案 0 :(得分:1)
签出EC2 discovery,类似于多播(默认zen发现模块)
答案 1 :(得分:1)
您可以使用多播来发现其他主机。在AWS上,您需要Prabin Meitei在其答案中提到的EC2发现插件。但是,我通常建议使用单播发现并使用具有A记录的域来跟踪主机。您可以将discovery.zen.ping.unicast.hosts: [“host1″,”host2″]
设置为将elasticsearch指向特定主机。您应该创建域(或子域)并为该主机的内部IP创建A记录,然后在弹性搜索的每个部署中包含相同的单播配置。
假设您想扩展,并且您的单播配置中只有前3个主机,并且您的群集中有5个主机,并且您想要添加1个,总共6个。您可以添加另一个主机,它将发现其他3个服务,它将传播自己连接到剩余的2个主机。现在即使是这些主机的IP已经改变,A记录也总是指向正确的IP。因此,最大限度地减少了重新配置的需求,并使创建可扩展部署变得更加容易。
当然,你可以使用多播来完成类似的事情。如果你使用的是AWS VPC,它不是真正的安全问题,但我个人不喜欢依赖服务发现,我可以自己处理它,我肯定会继续工作,并且不会失败到期解决为AWS发现提供的第三方模块中的一个简单错误。这也使维护更容易,因为您可以更好地控制群集,并且可以轻松地将节点旋转出去,而不必担心重新配置任何内容。