集群部署步骤
0 前期准备
集群中的所有节点安装部署好了rabbitmq,并且所有的配置保持一致,例如配置 /etc/rabbitmq/rabbitmq.config
1 集群部署
例如要对 node1 / node2 / node3 三个rabbitmq服务器搭建集群,其中node1为首节点
- 在三个节点服务器上的
/etc/hosts
文件的内容进行添加如下内容,将三个节点的服务器IP,创建名称
192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3
- node1节点的rabbitmq进程可以拉起来
rabbitmq-server -detached
,还有rabbitmq-management
,但是其他节点就不要拉起来了,然后将node1的文件/var/lib/rabbitmq/.erlang.cookie
内容复制替换到node2、node3的该文件中,只有保证每个节点的该文件内容一致,才能保证集群之间的认证是正常,可以互相联通- 由于文件
/var/lib/rabbitmq/.erlang.cookie
的属性默认是 400 ,所以在修改文件内容时,需要执行如下命令:
- 由于文件
chmod 777 /var/lib/rabbitmq/.erlang.cookie
vi /var/lib/rabbitmq/.erlang.cookie # 修改内容
chmod 400 /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
- 除了node1以外的所有节点,拉起rabbitmq进程,命令如下;
rabbitmq-server -detached
# node2作为disk节点
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbitmq@node1
rabbitmqctl start_app
# node3作为ram节点
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbitmq@node1
rabbitmqctl start_app
2 检查集群
集群部署注意事项
-
启动app之前和之后的状态对比
- 在部署集群时,如果集群中的首节点存在的用户,在之后的节点上没有该用户时,集群是不会存在该用户的,需要重新创建,新创建的用户在集群所有节点上都可以查看到
-
集群的所有节点需要都打开 rabbitmq_management,才可以在web上查看到节点的状态信息。并且查看的地址,必须是集群的首节点,例如集群的首节点是node1,然后node2加入了node1,那么两节点都打开了 rabbitmq_management 之后,需要通过 node1节点来查看集群的状态