EC2 上的 MongoDB - 跨 DC 创建副本集

EC2 上的 MongoDB - 跨 DC 创建副本集

我们正在尝试在 EC2 中设置 MongoDB。我有几个问题 -

  • 由于 MongoDB 端点将拥有公共 VIP,我们是否应该启用身份验证?启用身份验证后,性能是否会受到重大影响?
  • 在 EC2 中部署副本集的最佳方法是什么?我是否必须单独部署所有 3 个节点并对其进行配置,还是可以使用工具来自动执行部署?我们希望其中一个辅助节点位于与主节点不同的 DC 中。
  • Ubuntu 还是 RHEL?哪个版本?

谢谢!

答案1

我将逐一讨论这个问题:

是的,身份验证确实会带来开销,但通常很小,不会引起注意。我建议,如果可以避免,不要使用公共 MongoDB 端点,这只是从一般安全角度考虑。或者,如果使用公共端点,至少要将其锁定。此外,请确保至少使用 2.0.6 版,因为这个错误我发现这具有重要意义。

您可以使用自己喜欢的工具(chef、puppet 等)进行部署,但除非您计划多次执行此操作或扩展到多个分片,否则对于单个副本集,设置并不复杂 - 对于三个成员,一旦启动实例,基本上只需要几个命令即可配置该集合(第一个使用 rs.initiate(),每个后续成员使用 rs.add())。对于 MongoDB,配置 EC2 的真正重点是 EBS 存储部分、文件系统等。请参阅此处了解这方面的各种建议:

http://www.mongodb.org/display/DOCS/Amazon+EC2+Quickstart http://www.mongodb.org/display/DOCS/Amazon+EC2

选择 Ubuntu 还是 RHEL/CentOS 取决于您的偏好 - 您喜欢 apt 还是 yum、rpm 还是 deb、SysV init 还是 upstart?无论哪种方式,10gen 都有可用的存储库,可让您及时了解 MongoDB 的最新版本:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-redhat-c​​entos-or-fedora-linux/

就推荐版本而言,我通常会推荐具有长期支持的最新稳定版本 - 目前我认为是 CentOS 6.2 和 Ubuntu 12.04

答案2

  1. 如果你在单个区域部署,请记住将每个副本部署在单独的可用区域中
  2. 如果您跨区域部署,请记住 MongoDB 的社区版本不启用 SSL。

对于简单的场景我建议配置 1

相关内容