rabbitmq 所有节点异常停机后处理方式
2) 增加访问用户,默认用户guest只能本地访问
# rabbitmqctl add_user admin admin@changingpay
3) 添加权限
# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
4) 赋予超级管理员角色
# rabbitmqctl set_user_tags admin administrator
5) 增加虚拟机
# rabbitmqctl add_vhost cfp_vhost
6) 设置用户在虚拟主机上的权限
# rabbitmqctl set_permissions -p cfp_vhost admin ".*" ".*" ".*"
rabbitmqctl add_user cfpbiz cfp@biz
rabbitmqctl set_permissions -p cfp_vhost cfpbiz ".*" ".*" ".*"
e) 使用 -detached 参数运行各节点
# rabbitmqctl stop
# rabbitmq-server –detached
注意:如以上步骤报异常如下:
Authentication failed (rejected by the remote node), please check the Erlang cookie
网上解决方案有很多,但未必能解决你的问题。在这一步骤我是通过重启异常节点服务器后,执行service rabbitmq-server start 然后再继续执行以上命令,然后成功。
f) 将node2、node3加入集群,在node2、node3节点分别执行以下指令
# rabbitmqctl stop_app
# rabbitmqctl join_cluster rabbit@node1
如果不能加入集群,认真检查是不是防火墙没有关闭。
# rabbitmqctl start_app
h) 设置镜像队列策略
在任意一个节点上执行:
# rabbitmqctl set_policy ha-all "^topic" '{"ha-mode":"all"}'
i) 修改集群节点类型
一个集群中最少要有一个磁盘节点(磁盘节点disc,内存节点ram)
# rabbitmqctl stop_app
# rabbitmqctl change_cluster_node_type ram
# rabbitmqctl start_app
八、启动Haproxy
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
service haproxy start
集群状态:rabbitmqctl cluster_status
将某节点剔除出当前集群:rabbitmqctl forget_cluster_node {rabbit_node_name}