在 windows 个服务器中使用正确的设置和配置设置 Elasticsearch 以供生产使用
Setting up Elasticsearch with right settings and configurations in windows servers for production use
我是 Elasticsearch 的新手。我已经使用默认 ES 设置在 dev(c# -NEST 库)中实现了 Elasticsearch。
我的问题是关于使用正确的配置迁移到生产环境。
一些事实:
- 该解决方案是为搜索目录项而实现的。
- 项目总数目前为 5K+,但在不久的将来会达到 25K+。
- 当前 ES 索引大小为 5MB,所以我认为对于 25K 项它将增长到 25MB。
- 每小时搜索次数不是很多。
- PROD 中有 2 台服务器(虚拟,Windows 2008 R2 标准,4 台 CPU,16GB 内存,100GB space)。
- 两台服务器都在负载均衡器下。
问题:
- 我想知道我需要多少分片和副本
配置。体面的性能和高可靠性和
可用性。
- 每个服务器上推荐的节点配置是什么(在主节点、客户端、数据节点等方面)
- 使用windows中的配置进行部署的推荐方法是什么,手动步骤更少。
- 请分享您在 windows 环境中部署和维护的 good/bad 经验(以及技巧和经验教训)。
- 实际上,关于转向生产,我不知道我不知道什么。我可能错过了一些琐碎的设置。
注意:我已经阅读了有关如何配置系统和 Elasticsearch 设置的指南。
https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html.
但我不知道要配置的推荐值。
提前致谢。
我会尝试给你一些一般性的答案,让你开始:
- I would like to know how many shards and replicas i need to configure. for decent performance and high reliability and availability.
体面的表现是什么意思?一个主分片应该足以容纳 25,000 个项目和 25Mb。整个索引可以有效地存在于这个大小的 RAM 中!
您可以添加一个副本,这样两个节点都可以为搜索请求提供服务。
注意: 两个符合主节点资格的节点对于生产目的来说不是一个好的数量,因为在主节点选举过程中,有一个 insufficient number of votes to have a quorum 和 [=54= 】 新主人,导致脑裂的场景。为了实现高可用性,您需要至少三个符合主节点条件的节点,最好也在一个区域内的不同可用性区域中,以便节点位置是隔离的。
- What is the recommended node configuration on each server (in terms master, client, data node etc)
对于您要处理的数据量,三个符合主节点条件的节点就足够了,并且可以满足高可用性。并非所有节点都必须是数据节点,但假设一个主分片和一个副本,至少有两个节点需要是数据节点。第三个节点可以是唯一的主节点,并有效地充当主节点选举的仲裁者。
- What is the recommended way of deploying with configuration in windows with less manual steps.
这是一个非常开放的问题,充满了自以为是的答案!您可能会在 Windows 环境中使用的一些示例可能是
- PowerShell DSC
- 人偶
- Ansible
- 地形
- 云特定部署解决方案,例如CloudFormation、Azure 资源管理器
- Please share your good/bad experiences (also tips and lesson learnt) in deploying and maintaining in windows environment.
- 从 Elasticsearch 的默认配置开始,阅读 Configuring Elasticsearch。不要更改默认设置 除非 您真的知道自己在做什么!
- 对于 25Mb 的数据,快照的需求可能并不重要,因为重建具有 25,000 个项目的索引不会花费很长时间。
- 假设这是一个搜索用例,将 Index Aliases 与版本化索引一起使用。您的应用程序将使用别名,允许您迭代满足您的信息检索需求的索引和搜索策略。
我是 Elasticsearch 的新手。我已经使用默认 ES 设置在 dev(c# -NEST 库)中实现了 Elasticsearch。 我的问题是关于使用正确的配置迁移到生产环境。 一些事实:
- 该解决方案是为搜索目录项而实现的。
- 项目总数目前为 5K+,但在不久的将来会达到 25K+。
- 当前 ES 索引大小为 5MB,所以我认为对于 25K 项它将增长到 25MB。
- 每小时搜索次数不是很多。
- PROD 中有 2 台服务器(虚拟,Windows 2008 R2 标准,4 台 CPU,16GB 内存,100GB space)。
- 两台服务器都在负载均衡器下。
问题:
- 我想知道我需要多少分片和副本 配置。体面的性能和高可靠性和 可用性。
- 每个服务器上推荐的节点配置是什么(在主节点、客户端、数据节点等方面)
- 使用windows中的配置进行部署的推荐方法是什么,手动步骤更少。
- 请分享您在 windows 环境中部署和维护的 good/bad 经验(以及技巧和经验教训)。
- 实际上,关于转向生产,我不知道我不知道什么。我可能错过了一些琐碎的设置。
注意:我已经阅读了有关如何配置系统和 Elasticsearch 设置的指南。 https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html.
但我不知道要配置的推荐值。 提前致谢。
我会尝试给你一些一般性的答案,让你开始:
- I would like to know how many shards and replicas i need to configure. for decent performance and high reliability and availability.
体面的表现是什么意思?一个主分片应该足以容纳 25,000 个项目和 25Mb。整个索引可以有效地存在于这个大小的 RAM 中!
您可以添加一个副本,这样两个节点都可以为搜索请求提供服务。
注意: 两个符合主节点资格的节点对于生产目的来说不是一个好的数量,因为在主节点选举过程中,有一个 insufficient number of votes to have a quorum 和 [=54= 】 新主人,导致脑裂的场景。为了实现高可用性,您需要至少三个符合主节点条件的节点,最好也在一个区域内的不同可用性区域中,以便节点位置是隔离的。
- What is the recommended node configuration on each server (in terms master, client, data node etc)
对于您要处理的数据量,三个符合主节点条件的节点就足够了,并且可以满足高可用性。并非所有节点都必须是数据节点,但假设一个主分片和一个副本,至少有两个节点需要是数据节点。第三个节点可以是唯一的主节点,并有效地充当主节点选举的仲裁者。
- What is the recommended way of deploying with configuration in windows with less manual steps.
这是一个非常开放的问题,充满了自以为是的答案!您可能会在 Windows 环境中使用的一些示例可能是
- PowerShell DSC
- 人偶
- Ansible
- 地形
- 云特定部署解决方案,例如CloudFormation、Azure 资源管理器
- Please share your good/bad experiences (also tips and lesson learnt) in deploying and maintaining in windows environment.
- 从 Elasticsearch 的默认配置开始,阅读 Configuring Elasticsearch。不要更改默认设置 除非 您真的知道自己在做什么!
- 对于 25Mb 的数据,快照的需求可能并不重要,因为重建具有 25,000 个项目的索引不会花费很长时间。
- 假设这是一个搜索用例,将 Index Aliases 与版本化索引一起使用。您的应用程序将使用别名,允许您迭代满足您的信息检索需求的索引和搜索策略。