RabbitMQ3.8 集群部署之镜像模式

准备环境

  • 准备三台服务器
    系统主机名IP
    CentOS7.6 1810rmq-01192.168.2.130
    CentOS7.6 1810rmq-02192.168.2.131
    CentOS7.6 1810rmq-03192.168.2.132
  • 配置各节点的hosts文件( vim /etc/hosts)
192.168.2.130  rmq-01
192.168.2.131  rmq-02
192.168.2.132  rmq-03

安装rabbitmq-server

  • 各个节点上都安装rabbitmq-server
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum  install erlang   -y

cat  > /etc/yum.repos.d/rabbit-server.repo   <<EOF
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/8/
gpgcheck=0
repo_gpgcheck=0
enabled=1
EOF
yum install  rabbitmq-server   -y
  • 同步中一个节点的cookie到另外两个节点(节点之间通过cookie确定相互是否可通信)
    在rmq-01 节点上执行
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
rsync -acvzP  /var/lib/rabbitmq/.erlang.cookie 192.168.2.131:/var/lib/rabbitmq/
rsync -acvzP  /var/lib/rabbitmq/.erlang.cookie 192.168.2.132:/var/lib/rabbitmq/
  • 设置rabbitmq 启动时需要的环境变量(/etc/rabbitmq/rabbitmq-env.conf)
    rmq-01 节点
  echo "NODENAME=rabbit@rmq-01" >>/etc/rabbitmq/rabbitmq-env.conf

rmq-02 节点

echo "NODENAME=rabbit@rmq-02" >>/etc/rabbitmq/rabbitmq-env.conf

rmq-03 节点

echo "NODENAME=rabbit@rmq-03" >>/etc/rabbitmq/rabbitmq-env.conf
  • 各个节点启动rabbitmq_management 插件
 rabbitmq-plugins enable  rabbitmq_management

配置集群和集群管理

  • 把rmq-02 节点加入rmq-01(主节点),此时在rmq-02 节点上操作
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rmq-01
rabbitmqctl start_app
rabbitmqctl status
  • 把rmq-03 节点加入rmq-01(主节点),此时在rmq-03 节点上操作
 systemctl start rabbitmq-server.service
 systemctl status rabbitmq-server.service
 rabbitmqctl stop_app
 rabbitmqctl join_cluster rabbit@rmq-01 #默认磁盘节点类型disc
 rabbitmqctl start_app
 rabbitmqctl status
  • 改变集群节点类型,在需要改变类型节点上操作
   rabbitmqctl stop_app
   rabbitmqctl  change_cluster_node_type   ram | disc
   rabbitmqctl start_app
  • 集群删除节点rmq-03,在rmq-03 节点上操作
rabbitmqctl stop_app  
rabbitmqctl forget_cluster_node  rabbit@rmq-03###此时会报错,忽略即可
rabbitmqctl reset
  • 查看集群的状态
rabbitmqctl cluster_status
rabbitmqctl  set_cluster_name ha_rmq_cluster #设置集群名字
  • 设置集群镜像模式
 rabbitmqctl set_policy ha-all "^" '{"ha-mode":"exactly", "ha-params":2, "ha-sync-mode":"automatic","ha-sync-batch-size":300000}'

账号权限管理

rabbitmqctl add_user  admin  Admin #创建账号并设置密码
rabbitmqctl set_user_tags  admin administrator #给账号授权administrator 角色
rabbitmqctl  set_permissions  -p  '/'  admin'.*' '.*' '.*' #设置权限 
rabbitmqctl  delete_user  admin #删除账号
rabbitmqctl  change_password  admin Newpassword  #修改用户密码
rabbitmqctl  list_users  # 查看用户列表
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值