RabbitMQ--集群副本
二、集群副本
设置和操作RabbitMQ集群的副本,其通过三台机器构成一个集群,分别是rabbit1、rabbit2、rabbit3,其中两台机器复制数据到内存和磁盘,另外一台仅仅复制数据到内存中
我们假设用户登录到所有的三台机器上,RabbitMQ已经安装到机器上了,rabbitmq-server和rabbitmqctl脚本已经在用户PATH里了。
1、初始化设置
Erlang节点使用cookie来检测它们之间是否允许通信,如果两个节点能够通信,那么它们必须拥有相同的cookie。
Cookie仅仅是一个含有文字与数字的字符串,如果你喜欢其可以是long或者short。
RabbitMQ服务器启动的时候,Erlang将自动创建随机cookie文件。这个文件一般位于/var/lib/rabbitmq/.erlang.cookie。最简单的方式是允许其中一个节点创建cookie文件,然后将其拷贝到集群内所有其它节点。
作为一种选择,你可以在调用rabbitmq-server和rabbitmqctl脚本时插入选项“-setcookie cookie”。
2、启动独立节点
用正常的方式在所有节点上启动RabbitMQ,具体如下:
rabbit1$ rabbitmq-server -detached
rabbit2$ rabbitmq-server -detached
rabbit3$ rabbitmq-server -detached
如此,则创建了三个独立的RabbitMQ broker,每个节点上一个,可以通过如下命令查看集群状态:
查看集群状态
rabbitmqctl cluster_status