集群部署

RabbitMQ的集群依懒于elang语言本身的分布式集群. erlang语言是天生的分布式语言, 它可以通过cookie的配置,然后进行节点之间的通信.这感觉像是我们自己做的应用一样.

这个没错,erlang语方自身支持这个集群

操作步骤:

在所有rabbitmq节点上设置,将cookie写到/var/lib/rabbitmq/.erlang.cookie 文件,并且设这个文件只有可读权限

COOKIE=CQIRJLLIHWWVXCSRHQUH
echo $COOKIE > /var/lib/rabbitmq/.erlang.cookie
chown R rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod a-w /var/lib/rabbitmq/.erlang.cookie
chmod o-r /var/lib/rabbitmq/.erlang.cookie
chmod g-r /var/lib/rabbitmq/.erlang.cookie

然后启动所有rabbitmq节点

/etc/init.d/rabbitmq-server start

案例

假如机器部署情况如下:

10.4.4.101 rabbitmq101

10.4.4.102 rabbitmq102

10.4.4.103 rabbitmq103

以 rabbitmq101 作cluster集群主节点

在 10.4.4.102,10.4.4.103 机器上运行

rabbitmqctl stop_app
rabbitmqctl join_cluster rabbitmq101@rabbitmq101
rabbitmqctl start_app