【问题标题】:Elasicsearch in different region don't see each other不同地区的 Elasticsearch 看不到对方
【发布时间】:2014-03-18 21:40:20
【问题描述】:

我的问题是 2 倍: **更新*******强> 我固定了 1 号。 我必须在配置中指定区域。我想这是因为我的键默认关联东方。 如果有人对 2 有答案,那就太好了。

1) 我最终尝试设置一个 4 节点集群(每个区域 2 个)。在主要区域 (east-us-1) 中,节点彼此完全可以看到,但在西部,它们似乎看不到彼此。在我尝试多区域之前,我想确保他们能看到对方(我还不完全确定该怎么做)。我已经安装了插件。 基本上,为什么在不同区域的节点在相同的配置下看不到对方。我可以远程登录到/从 9200/9300 上的每个服务器。 这是我的配置:

云: aws: 访问密钥: 秘钥:

发现: 类型:ec2 ec2: 组:弹性搜索

2) 有没有办法指定一个特定的节点来“保存所有数据”,然后在它们之间分发?

【问题讨论】:

  • 当我启动节点 1 时,我应该收到一条错误消息,指出它无法到达该安全组中的第二个节点。东部地区的示例:[2014-02-18 16:03:47,408][TRACE][discovery.zen.ping.unicast] [Ezekiel Stane] [1] 无法连接到 [#cloud-i-00b8ed2e-0 ][localhost.localdomain][inet[/10.110.65.92:9300]] 一旦第二个节点启动,它就会连接。我相信这个错误只是因为该安全组中有另一个弹性节点,它只是没有启动。

标签: amazon-web-services amazon-ec2 elasticsearch


【解决方案1】:

虽然这不是你想要的答案:不要那样做

在两个区域中拥有两个集群会更容易,并让它们在您的应用程序层上保持同步。此外,Elasticsearch 在 1.0 中引入了 Tribe-node 的概念,使这更容易一些。

Elasticsearch 与任何分布式数据库一样,对网络问题非常敏感。在这种情况下,您依赖 Internet 可靠地工作。它往往不会。

您建议的设置很容易导致脑裂或中断。如果您将最小主节点配置为仲裁(您始终应该这样做),那么只要区域之间出现连接问题,集群就会关闭。

我们已经写了两篇关于这个主题的文章比这更深入,你可能想看看:

【讨论】:

  • 谢谢!!现在我遇到了西部地区可以看到东部但无法连接的问题。我得到这个:[2014-02-19 10:43:02,196][WARN][discovery.zen.ping.unicast] [Cyclops] 无法发送 ping 到 [[#cloud-i-47742169-0][localhost .localdomain][inet[/10.110.65.91:9300]]] org.elasticsearch.transport.ReceiveTimeoutTransportException: [][inet[/10.110.65.91:9300]][discovery/zen/unicast] request_id [2] 超时[3750ms]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多