rabbitmq安装
centos7安装rabbitmq | 小鹏驿站 (gitee.io)
集群环境准备
准备三台虚拟机,修改hostname
vim /etc/hostname #分别命名node1,node2,node3
修改之后重启虚拟机
reboot
命令或者直接操作vmware
修改各节点的hosts,让各个节点能互相识别
vim /etc/hosts
配置如下:
192.168.101.125 node1 192.168.101.129 node2 192.168.101.128 node3
确保各个节点erlang的cokkie一样,将node1中
.erlang.cookie
拷贝过去scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie
集群命令
启动rabbitmq服务
node1
rabbitmq-server -detached #停止(rabbitmqctl stop 会将Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务) rabbitmqctl stop_app #重置 rabbitmqctl reset #启动 rabbitmqctl start_app
node2
rabbitmq-server -detached #停止(rabbitmqctl stop 会将Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务) rabbitmqctl stop_app #重置 rabbitmqctl reset #集群方式加入node1 rabbitmqctl join_cluster rabbit@node1 #启动 rabbitmqctl start_app
node3
rabbitmq-server -detached #停止(rabbitmqctl stop 会将Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务) rabbitmqctl stop_app #重置 rabbitmqctl reset #集群方式加入node2,也可以加入node1 rabbitmqctl join_cluster rabbit@node2 #启动 rabbitmqctl start_app
查看集群状态
rabbitmqctl cluster_status
重新创建并设置用户
创建账号
rabbitmqctl add_user admin admin
设置用户超级管理员角色
rabbitmqctl set_user_tags admin administrator
设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
解除集群节点
#在node2 node3 执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
#node1上面执行
rabbitmqctl forget_cluster_node rabbit@node2
集群模式下镜像队列配置
- Name:策略名称
- Pattern:正则匹配规则
- Apply to:应用于
Exchanges and queues
:交换机和队列Exchanges
:交换机Queues
:队列
- Priority:优先级,默认0
- Definition:自定义配置
ha-mode
all
集群所有节点exactly
集群中部分节点,需要配合ha-params
使用
ha-params
:镜像的节点个数ha-sync-mode
automatic
:自动manual
:手动