弹性搜索集群设置

Elasticsearch cluster setup

我目前是 运行 单节点 ES 实例。由于在 ES 中设置单个服务器存在一些限制,并且查询有时会变得很慢,所以我想升级到一个完整的集群。

ES 实例目前只存储数据,不会做任何花哨的事情(转换、摄取管道,...)。我目前需要的只是一个存储数据和检索数据的地方(搜索 + 聚合)。读多于写。

我在很多论坛和博客文章中了解到“裂脑”问题。为避免这种情况,最小节点数应为 3。

我的想法是保持较低的机器数量,因为这是一个私人项目,我不想在业余时间也管理很多 OS..

我想到的结构是:

- 1 Coordinator + Voting-only Node
- 2 Master-eligible + Data Nodes

minimum_master_nodes: 2 to circumvent Split-Brains

将所有的ES-Queries发送给Coordinator,Coordinator会在数据节点上发出请求并归纳最终结果。

我的问题是:这有意义吗?还是使用 3 个 master-eligible + Data 节点更好?

在网上我没有找到任何帮助 ES 新手了解简单集群结构的指南。

你的方向是正确的,我可以看到你的大部分想法也是正确的,所以不要认为自己是 ES 新手:)。

无论如何,因为您将在集群中拥有 3 个节点,为什么要注意将所有三个节点都设置为符合主节点条件的节点,以及为什么在默认情况下每个 ES 节点都作为一个协调节点工作时,您要创建一个专用的协调节点协调节点,在你的小项目中你不需要一个专门的协调节点。这样你将有一个简单的配置,只是不要为任何节点分配任何明确的角色,因为默认情况下所有 ES 节点都是主节点、数据节点和协调节点。

此外,您应该花一些时间来识别慢日志及其原因,以提高性能,而不是在个人项目中添加更多资源,请参阅我的short tips on improving the search performance