0

问题几乎都在标题中:如何使用副本设置 AWS/mongodb,以便在实例崩溃时无事可做?
也就是说,如果副本的一个实例崩溃了,我猜亚马逊会为我们实例化一台新机器并启动正在运行的进程。使用 EBS 应该没问题。

唯一的问题:重新启动时,我们如何将新机器添加回副本集?实例有不断变化的 ips,我不确定如何启动机器才能知道要加入哪个副本集,它的 ip 是什么,以及如何告诉它加入它。
如果您遇到此问题,请告诉我!

谢谢
托马斯

4

1 回答 1

3

我猜亚马逊为我们实例化了一台新机器并启动了正在运行的进程。使用 EBS 应该没问题。

在像 AWS 这样的网络上,由于多种原因可能会导致成员宕机。我强烈建议您不要为副本创建自动缩放组/云模板。

相反,我会简单地手动处理新副本。

使用 EBS 应该没问题。

并非总是如此,您可能会遇到一个边缘情况,即该 dc 的存储层也会出现故障。事实上,它通常更有可能两者兼而有之,而不仅仅是其中之一。

重新启动时,我们如何将新机器添加回副本集

正如关于恢复成员的文件中所述,这主要是一个手动过程。mongod您通过参数告诉--replicaSet它应该属于哪个副本集,然后在主节点上需要从 rs.config 中删除该成员,然后重新应用新成员 IP。

当然,您可以为这些实例分配静态 IP 并这样做,AWS 确实支持从它们那里购买静态 IP,并且它们具有用于连接它们的接口。这是非常基本的东西,所以我不会进一步深入。

于 2013-08-26T13:33:55.323 回答