首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个elasticsearch客户端向单个ES集群发送大量json数据

多个elasticsearch客户端向单个ES集群发送大量json数据
EN

Stack Overflow用户
提问于 2018-09-11 18:55:26
回答 1查看 477关注 0票数 2

我计划让elasticsearch客户端在我的每个ec2服务器(大约50-60个ec2服务器)上向我的单个ES集群发送数据。

每个python客户机将每秒钟向ES集群发送批量json。总计-每秒50/60大容量索引

每个散包json可以有多达500个文档/~3-4MB的散包json。假设我使用的是20个节点集群m4。

我的问题是

  1. ES集群如何负载平衡来自不同服务器的请求?
  2. 来自不同服务器的请求如此频繁,这将如何影响我的系统?
  3. elasticsearch和Curl到端点,哪个更好?
EN

回答 1

Stack Overflow用户

发布于 2018-09-11 23:32:52

根据我的经验,您应该用您的特定设置来测试它。

这取决于:

  • 你的ES集群有多大?
  • 你的数据库有多大?
  • 你有多少个复制品
  • 您有多少索引节点?
  • 任何节点/碎片识别ids
  • 你的文件有多大?
  • 您的自定义标记/索引有多复杂
  • 你在发送文件方面有什么特别之处吗
  • 有多少其他查询正在集群上运行?
  • 刷新间隔有多大?
  1. 在测试运行期间,查看来自您服务器的数据。

curl localhost:9200/_cat/线程池?v=true

代码语言:javascript
复制
node_name name                active queue rejected
prodnode  bulk                     0     0        0
prodnode  fetch_shard_started      0     0        0
prodnode  fetch_shard_store        0     0        0
prodnode  flush                    0     0        0
prodnode  force_merge              0     0        0
prodnode  generic                  0     0        0
prodnode  get                      0     0        0
prodnode  index                    0     0        0
prodnode  listener                 0     0        0
prodnode  management               1     0        0
prodnode  refresh                  0     0        0
prodnode  search                   0     0        0
prodnode  snapshot                 0     0        0
prodnode  warmer                   0     0        0
  1. 根据我的经验,您提到的数字应该可以按集群进行管理。你可能面临的第一个问题是:批量拒绝(关于这方面的很好的文章)。您能编码容忍它并重新发送失败的文档吗?通过设计,批量查询更好地合并到单个队列,并有一个代理将它们发送到集群。集群会锁定它或节流,如果它不能跟上。做实验比较好。
  2. 与索引时间和集群内通信相比,编码和网络延迟要小得多,所以您选择哪一个并不重要。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52282524

复制
相关文章

相似问题

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