我目前正在决定将MongoDB和Elasticsearch作为日志和分析平台的后端。我计划使用一个由5服务器组成的集群,每个服务器都有64 in内存和一个500 in驱动器。对于一个副本集,它应该支持我猜测的数据的1TB+。
根据我在Elasticsearch上所读到的,上述服务器的推荐设置将是5-10个碎片,但是如果不进行大规模迁移,碎片在将来就无法增加。因此,也许我可以为相同的索引向集群多添加5个服务器/节点,但不能添加10或20个,因为我不能创建更多的碎片来分布在新的节点/服务器上--对吗?
MongoDB似乎会根据键值自动管理切分,并在添加更多节点时重新分配这些碎片。那么,这是否意味着将来我可以向集群中再添加50个服务器,而MongoDB将很高兴地将这个索引中的数据传播到所有服务器上?
我现在基本上只需要1TB的存储,但是不想把自己画到一个角落,如果这个数据集最终增长到100 1TB的话。
如果在开始时不启动带有100个碎片的Elasticsearch (这似乎是一种低效和糟糕的实践),那么它如何为这个单一数据集扩展到超过5/10服务器呢?
发布于 2018-06-10 13:50:46
PS免责声明:我现在为弹性公司工作,但我在生产中使用MongoDB已经5年了。
https://stackoverflow.com/questions/50753917
复制相似问题