如何将新的rabbitmq节点与当前集群同步?

时间:2014-06-24 19:16:43

标签: amazon-web-services rabbitmq load-balancing autoscaling

目前有一个由3个rabbitmq节点组成的集群,每个节点在不同的aws区域中,而不是其他任何节点。我已经能够将它们聚类并证明这是有效的。

我遇到的挑战是使用自动扩展并自动将新节点连接到群集。根据我的理解,所有其他节点必须彼此了解并在其/ etc / hosts文件中包含其他IP。

有没有办法只搜索群集名称并告诉节点连接?

我尝试在ELB后面设置节点并将它们指向ELB而不是IP&#;;然而,这没有奏效。

1 个答案:

答案 0 :(得分:0)

对于其他正在尝试此操作的人来说,我所做的就是安装aws-cli。在这之后我写了一个脚本来根据我拥有的三个不同的elb(每个节点一个)更改/ etc / hosts文件

该脚本首先通过运行此命令找到elb后面的ec2实例

aws elb describe-instance-health --load-balancer-name <NAME OF YOUR ELB>

然后脚本通过运行此命令获取elb后面的ec2的ip

aws ec2 describe-instances --instance-ids <THE VALUE RETURNED FROM ABOVE> --query 'Reservations[*].Instances[*].PrivateIpAddress' --output text

我们正在做的诀窍是在一个脚本中运行它,它分别遍历每个elb并且每个节点只有一个elb infront。这允许节点停机,自动备份并让我们知道新的IP,而不必担心手动编辑文件。

因此,我们只是遍历每一个并告诉它将输出保存到/ etc / hosts文件。

希望能帮到某人