使用docker搭建rabbitmq集群记录
-
创建三个docker实例
-
创建主节点, 导出三个端口供外部访问
docker run -d --name rab1 --hostname=rab1 --network=dev.local -p 4600:5672 -p 4601:15672 -p 4602:15692 rabbitmq
-
创建节点2,3
docker run -d --name rab2 --hostname=rab2 --network=dev.local rabbitmq
docker run -d --name rab3 --hostname=rab3 --network=dev.local rabbitmq
-
同步三个节点的cookie
docker cp rab1:/var/lib/rabbitmq/.erlang.cookie .
docker cp .erlang.cookie rab2:/var/lib/rabbitmq/.erlang.cookie
docker cp .erlang.cookie rab3:/var/lib/rabbitmq/.erlang.cookie
-
重启2,3节点, 因为cookie变了
docker restart rab2 rab3
-
在节点1上执行
创建用户及赋权
rabbitmqctl add_user admin admin ; rabbitmqctl set_user_tags admin administrator ; rabbitmqctl set_permissions admin '.*' '.*' '.*'
启动http插件
rabbitmq-plugins enable rabbitmq_management
-
在2,3上执行命令, 加信节点1的集群
rabbitmqctl stop_app ; rabbitmqctl reset; rabbitmqctl join_cluster rabbit@rab1 ; rabbitmqctl start_app
-
查看集群状态
rabbitmqctl cluster_status