【发布时间】:2016-04-20 16:01:06
【问题描述】:
我们正在 AWS EC2 实例上通过 ansible 部署 mongodb 集群。 配置数据库实例后,我们为其提供相应的主要/次要标签。我们有 3 个节点 - 1 个用于主节点,2 个用于辅助节点。
在第一次运行 ansible 脚本时,我们通过 Tag 类型选择主实例,启动它并向其添加辅助节点
rs.initiate()
rs.add(secodnaryHost1)
rs.add(secondaryHost2)
这很好用。
但是,有时,当其中一个辅助变为主时,我们的实例标记类型 - 主和 mongoDB - 主是不一样的。 在这种情况下,如果我们运行我们的 ansible 脚本,它们会失败,因为主要标签类型(现在是次要标签)无法在命令之上运行。
处理这种不匹配的最佳方法是什么?
【问题讨论】:
-
使用标签来指示哪个节点是主节点和哪个节点是没有帮助的,因为(如您所见)当现有主节点离线时,另一个节点将是 @987654321 @ 担任主要角色。您的 Ansible 脚本需要知道哪个节点是主节点,有什么特殊原因吗?
标签: mongodb amazon-web-services amazon-ec2 ansible mongodb-replica-set