使用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 rabbitmqdocker 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.cookiedocker 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