弹性搜索集群设置
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
我目前是 运行 单节点 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