RabbitMQ ------------ 集群搭建之镜像模式

1. 在三台服务器上安装RabbitMQ
  • erlang下载:https://dl.bintray.com/rabbitmq-erlang/rpm/erlang
  • socat下载:http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
  • RabbitMQ下载:https://www.rabbitmq.com/install-rpm.html#downloads

安装:

  1. rpm -ivh erlang-21.3.8.16-1.el7.x86_64.rpm
  2. rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
  3. rpm -ivh rabbitmq-server-3.8.6-1.el7.noarch.rpm

其他命令:

  • 启动后台管理插件
    -rabbitmq-plugins enable rabbitmq_management
  • 启动RabbitMQ
    • systemctl start/status/restart/stop rabbitmq-server.service
  • 查看进程
    • ps -ef | grep rabbitmq
  • 测试
    • 关闭防火墙:systemctl stop firewalld
    • 创建账户:rabbitmqctl add_user username password
    • 设置用户角色:rabbitmqctl set_user_tags username administrator
    • 设置用户权限:rabbitmqctl set_permissions -p "/" laosun ".*" ".*" ".*"
    • 查看当前用户和角色:rabbitmqctl list_users
    • 查看当前用户和角色:rabbitmqctl change_password username password
2. 修改 /etc/hosts 映射文件
  • vim /etc/hosts

    • A号服务器在这里插入图片描述
    • B号服务器在这里插入图片描述
    • C号服务器在这里插入图片描述
3. 相互通信
  • 相互通信,cookie必须保持一致,同步 rabbitmq的cookie 文件。
    • cd /var/lib
    • cd rabbimq
    • ls -all
    • cat .erlang.cookie
  • 跨服务器拷贝:
    • scp /var/lib/rabbitmq/.erlang.cookie ip:/var/lib/rabbitmq
      • A: IFVMRMAXCEJHCKHIPHCP
      • B: IFVMRMAXCEJHCKHIPHCP
      • C: IFVMRMAXCEJHCKHIPHCP
  • 修改cookie文件,要重启服务器,reboot.
4. 停止防火墙,启动rabbitmq服务
  • systemctl stop firewalld
  • systemctl start rabbitmq-server
5. 加入集群节点
  • 将B,C加入到A中,则分别在B,C端操作。
    • 暂停节点:rabbitmqctl stop_app
    • 将节点加入到A中: rabbitmqctl join_cluster rabbit@A
    • 重启节点: rabbitmqctl start_app
    • 查看节点状态:rabbitmqctl cluster_status (可以不看)
6. 重新创建用户。
  • 如果在单机状态时,创建了用户或进行了其他的操作,这些信息在搭建集群时,会被隐藏起来,失去作用。因此需要重新创建。
  • 当恢复到单机状态时,原来创建的用户和其他信息会恢复。
7. 查看管理端

在这里插入图片描述

8. 镜像模式
  • rabbitmqctl set_policy xall "^" '{"ha-mode":"all"}'
  • 语法:set_policy {name} {pattern} {definition}
    • name:策略名,可自定义
    • pattern:队列的匹配模式(正则表达式)
    • definition:镜像定义,包括三个部分ha-mode, ha-params, ha-sync-mode
      • ha-mode:(High Available,高可用)模式,指明镜像队列的模式。
        • all:表示在集群中所有的节点上进行镜像
        • exactly:表示在指定个数的节点上进行镜像,节点的个数由ha-params指定
        • nodes:表示在指定的节点上进行镜像,节点名称通过ha-params指定
      • ha-params:ha-mode模式需要用到的参数。
      • ha-sync-mode:进行队列中消息的同步方式,有效值为automatic和manual
        在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值