首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS elasticsearch可用性区域感知和复制

AWS elasticsearch可用性区域感知和复制
EN

Stack Overflow用户
提问于 2015-11-26 16:31:59
回答 1查看 3.8K关注 0票数 6

我有一些关于AWS elasticsearch可用性区域感知和复制的问题:

  1. 据我理解,在区域/节点失败的情况下,如果在节点之间复制了碎片,集群将能够完全恢复,并且我将在每个区域中拥有一个完整的数据副本,对吗?
  2. 根据AWS elasticsearch文档,我必须使用在可用性区域的节点之间复制集群的数据。但是我找不到通过配置副本的方法,所以我猜是通过Elastic,对吗?
  3. 在同一区域的两个可用性区域(sa- least 1)中,集群节点分配的最佳实践是什么?至少在新环境的开始时,有多少专用主实例和数据节点应该足以进行故障转移?两个专用主节点和两个数据节点应该足以防止故障情况下的数据丢失和停机时间?我想应该为索引配置1个副本。我还考虑了2-3个专用主机和3个数据节点,以及每个索引的2个副本。
  4. AWS elasticsearch中没有设置文件,更改副本数量的唯一方法是通过弹性API,但我无法找到一种方法来更改默认设置,当新索引创建副本碎片的数量为1 (这是默认值)时,有办法更改每个新索引的默认设置吗?

这样的东西只会改变当前的索引。

代码语言:javascript
复制
curl -XPUT 'https://search-aa1-a3qlyghdz2i6wszffnv4iz5cyi.sa-east-1.es.amazonaws.com/_all/_settings' -d '
{
    "index" : {
        "number_of_replicas" : 2
    }
}'

http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html

感谢您能提供的任何帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-26 23:56:46

以下是你的一些问题的答案。

完全披露者--首先,我是一名弹性员工,并在成立的团队工作。

据我理解,在区域/节点失败的情况下,如果在节点之间复制了碎片,集群将能够完全恢复,并且我将在每个区域中拥有一个完整的数据副本,对吗?

从技术上说是的。当使用碎片副本时,写入到shard 0的任何数据都将复制到副本0,副本0应该位于不同区域的辅助节点上。

请注意,AWS每天只快照您的数据一次。不过,您可以随时手动拍摄快照。每30分钟配置一次。

根据AWS elasticsearch文档,我必须使用在可用性区域的节点之间复制集群的数据。但是我找不到通过配置副本的方法,所以我猜是通过Elastic,对吗?

是的,我不能100%确定AWS ES API是如何工作的,但是文档表明所有副本都必须通过AWS ES API来配置,而不是ES API。

如果您正在手动管理Elasticsearch集群,则可以使用ES https://www.elastic.co/guide/en/elasticsearch/guide/current/replica-shards.html配置副本,并且可以设置区域感知https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-awareness.html

在“查找”中,当您通过指示区域和您希望使用的可用性区域来创建群集时,所有这些都是为您配置的。Found允许您直接通过控制台增加或减少可用性区域的数量。

在同一区域的两个可用性区域(sa- least 1)中,集群节点分配的最佳实践是什么?至少在新环境的开始时,有多少专用主实例和数据节点应该足以进行故障转移?两个专用主节点和两个数据节点应该足以防止故障情况下的数据丢失和停机时间?我想应该为索引配置1个副本。我还考虑了2-3个专用主机和3个数据节点,以及每个索引的2个副本。

在2可用性区域配置中使用单个主节点,如果主节点所在的AZ失败,仍然会导致失败。AWS文档(http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains-configure-cluster)建议使用奇数个主节点,以帮助避免拆分大脑,并且您希望能够复制数据节点的负载能力。因此,大约有3个主节点(每AZ 1个,额外1个以帮助进行选举),以及4个数据节点(每个AZ 2个),至少有1个副本。

话虽如此,但发现这一切都被处理好了。例如,如果您在SA 1中设置了HA集群,则Found将在每个AZ中设置2个数据节点(带有副本)&主节点和选择由Found基础设施处理,该基础设施也跨两个区域进行管理。这防止了由于网络延迟/问题和完全直流故障而导致的脑分裂。有关更多信息,您可以参考https://www.elastic.co/blog/found-elasticsearch-in-production#networking

AWS elasticsearch中没有设置文件,更改副本数量的唯一方法是通过弹性API,但我无法找到一种方法来更改默认设置,当新索引创建副本碎片的数量为1 (这是默认值)时,有办法更改每个新索引的默认设置吗?

“弹性”推荐的缺省值是1份副本。要使用多个副本,您需要了解为什么使用replicas

索引模板可能有助于解决当前的情况,在这种情况下,可以在模板中设置要应用于任何未来指标https://www.elastic.co/guide/en/elasticsearch/guide/current/index-templates.html的默认值。

如果您想了解更多关于Elastic产品的信息,请访问https://www.elastic.co/foundhttps://www.elastic.co/found-elasticsearch-as-a-service-with-alerts

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33943350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档