fen Asked: 2015-03-03 08:35:05 +0800 CST2015-03-03 08:35:05 +0800 CST 2015-03-03 08:35:05 +0800 CST 在同一个节点上运行 MongoDB 和 ElasticSerach 通常是不是一个坏主意 772 简单的问题:如果您使用 cgroups 处理 mongodb 的内存饥饿问题并忽略并发 io 方面,那么在三个集群内的相同节点上运行 mongodb 和 elasticsearch 是否愚蠢? mongodb 1 个回答 Voted Best Answer Wesley 2015-03-03T08:47:48+08:002015-03-03T08:47:48+08:00 警告 问题很简单,比如所需的 IOPS、RAM 和 CPU,所以答案也很简单。 一般来说,将两个 IO/CPU/RAM 密集型工作负载放在同一个节点上是不好的,但我确实有处理 Elasticsearch 实例的经验,这些实例与由 cgroups / LXC 容器分隔的其他数据库(如 Redis 和 PostgreSQL)共享主机。只要有足够的原始资源,它就可以完成,并且对于生产工作负载来说做得足够好. 使用标准系统工具(如 vmstat、sar、iotop 等)监视 IO 和 RAM 使用情况很简单。您将需要几千 IOPS 潜力、几十 GB 的 RAM 和十几个左右CPU 内核,但如果您能负担得起一些大型主机,它是一个合理的架构。再说一次,如果你能买得起足够多的主机(例如,亚马逊语言中的 i2.4xls),那么你就可以买得起更大的小型实例池(i2.xls),并运行相互分离的 Elasticsearch 和 MongoDB,然后能够在未来扩大规模,成为更好的系统设计的一部分。
警告
问题很简单,比如所需的 IOPS、RAM 和 CPU,所以答案也很简单。
一般来说,将两个 IO/CPU/RAM 密集型工作负载放在同一个节点上是不好的,但我确实有处理 Elasticsearch 实例的经验,这些实例与由 cgroups / LXC 容器分隔的其他数据库(如 Redis 和 PostgreSQL)共享主机。只要有足够的原始资源,它就可以完成,并且对于生产工作负载来说做得足够好. 使用标准系统工具(如 vmstat、sar、iotop 等)监视 IO 和 RAM 使用情况很简单。您将需要几千 IOPS 潜力、几十 GB 的 RAM 和十几个左右CPU 内核,但如果您能负担得起一些大型主机,它是一个合理的架构。再说一次,如果你能买得起足够多的主机(例如,亚马逊语言中的 i2.4xls),那么你就可以买得起更大的小型实例池(i2.xls),并运行相互分离的 Elasticsearch 和 MongoDB,然后能够在未来扩大规模,成为更好的系统设计的一部分。