rabbitmq集群部署
安装rabbitmq
apt install rabbitmq-server -y #3台主控
创建用户
rabbitmqctl add_user openstack ule.com
设置权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
rabbitmqctl set_user_tags openstack administrator
rabbitmqctl list_users
#参考
rabbitmq开启webui界面管理
https://blog.csdn.net/feinifi/article/details/82589463
重启服务
systemctl enable rabbitmq-server
systemctl restart rabbitmq-server
ini
rabbtimq集群ini
端口:5672
主节点:192.168.2.30
子节点:192.168.2.31
子节点:192.168.2.32
授权
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
验证
scp /var/lib/rabbitmq/.erlang.cookie 192.168.2.31:/var/lib/rabbitmq/ #将主的cookie拷贝到其他节点
scp /var/lib/rabbitmq/.erlang.cookie 192.168.2.32:/var/lib/rabbitmq/
以下操作在子节点
rabbitmqctl stop_app #停止集群
rabbitmqctl join_cluster --ram rabbit@controller30 #controller30主节点主机名
rabbitmqctl start_app #启动集群
#查看集群状态
root@controller30:~# rabbitmqctl cluster_status
Cluster status of node rabbit@controller30
[{nodes,[{disc,[rabbit@controller30]},
{ram,[rabbit@controller32,rabbit@controller31]}]},
{running_nodes,[rabbit@controller31,rabbit@controller32,rabbit@controller30]},
{cluster_name,<<"rabbit@controller30">>},
{partitions,[]},
{alarms,[{rabbit@controller31,[]},
{rabbit@controller32,[]},
{rabbit@controller30,[]}]}]
#配置rabbitmq的策略
rabbitmqctl set_policy ha-all '^(?!amq.).*' '{"ha-mode": "all"}'
# 查看rabbitmq策略
root@2HD113Xrz25032:/etc# rabbitmqctl list_policies
Listing policies ...
/ ha-all all ^(?!amq\.).* {"ha-mode":"all"} 0
# 创建失败使用
# 主节点
systemctl stop rabbitmq-server
rabbitmqctl reset #重置集群
systemctl start rabbitmq-server
#rabbitmqctl reset
rabbitmqctl start_app
# 子节点
systemctl stop rabbitmq-server
rabbitmqctl reset #重置集群
systemctl start rabbitmq-server
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@controller30
rabbitmqctl start_app
任意控制节点
rabbitmqctl cluster_status
检查
root@controller:~/.ssh# rabbitmqctl cluster_status #主节点查看集群状态
Cluster status of node rabbit@controller30
[{nodes,[{disc,[rabbit@controller30]},
{ram,[rabbit@controller32,rabbit@controller31]}]},
{running_nodes,[rabbit@controller32,rabbit@controller31,rabbit@controller30]},
{cluster_name,<<"rabbit@controller30">>},
{partitions,[]},
{alarms,[{rabbit@controller32,[]},
{rabbit@controller31,[]},
{rabbit@controller30,[]}]}]