php - 连接到 Elasticsearch 时使用哪些主机
问题描述
我们有一个由 3 个主节点和一些数据节点组成的 Elasticsearch 集群。
我试图了解其中哪些需要包含在客户端的主机配置中。具体来说,我们使用的是 PHP,但我不认为这会有所作为。
最好使用的主机集是什么?包括一位大师就足够了吗?还是包含所有主节点或什至任何/所有数据节点更好?什么是最佳实践?
文档对此不是很清楚:Elasticsearch PHP 5.x
不同的设置有什么优点/缺点吗?
解决方案
默认情况下,所有节点都是协调器节点,您可以向它们发送查询,以便您可以查询 Data 和 Master 节点,但最好不要查询 Data 节点,因为它们正忙于从自己的磁盘查询和获取数据。协调员负责关联来自数据节点的结果。所以你应该查询主节点。不止一个节点。他们全部。因为如果其中一个出现故障,您的集群仍然处于运行状态。
对于有 100 个节点的大集群或搜索量很大的集群,我建议使用专用的协调器节点。(master: false
和data: false
)
推荐阅读
- python - 如何创建一个循环来计算日期内列的重复次数?
- typescript - 带有“数组”和“数组成员”参数的 TypeScript 泛型函数定义
- react-native - 将原子作为函数参数传递时的试剂性能问题
- javascript - 用增量函数从 $.each 循环中总结小数
- r - R:在我自己的包中使用数据表:lapply(.SD,mean)中的错误:找不到对象'.SD'
- filter - 如何在 Notepad++ 的文件搜索中排除文件类型?
- javascript - 当我按下“提交按钮”时,JavaScript 代码未执行
- c# - 在 Uno 共享项目中使用 WinUI 2.3
- c# - 无法从 mvc 中的 url 参数中获取值
- mysql - docker:使用特定的 uid:gid 运行 mysql 容器