准备工作

注意:本篇文章只在集群中添加了2个节点,一般集群为了防止脑裂发生,节点数量会采用基数,比如3个节点

1、确保RabbitMQ机器之间可以通过主机名解析,添加hosts解析

普通集群搭建

1、将主节点(node1)的.erlang.cookie 文件复制到各个节点上,保证 /root/.erlang.cookie文件一致

2、在node2上执行命令 加入到node1的集群

确保可以通过node-1解析到主节点

rabbitmq-server -detached
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@node-1
rabbitmqctl start_app

3、查看集群状态

rabbitmqctl cluster_status

注意看以下命令输出结果中的Running Nodes是否显示了已加入集群的节点 至此,普通集群创建完成

镜像集群创建

1、在任意节点执行命令创建同步策略

rabbitmqctl set_policy ha-all "^.*" '{"ha-mode":"all"}'
参数解释:
    ha-all为策略名称。
    ^为匹配符,只有一个^代表匹配所有,^zlh为匹配名称为zlh的 exchanges 或者 queue。
    ha-mode为匹配类型,分为 3 种模式:
    all所有(所有的queue)
    exctly部分(需配置ha-params参数,此参数为int类型比如3,众多集群中的随机3台机器)
    nodes指定(需配置ha-params参数,此参数为数组类型比如["rabbit@node-1","rabbit@node-2",,"rabbit@node-3"]这样指定为3台机器。)

2、查看策略

rabbitmqctl list_policies

3、 附加:WEb页面创建 or 查看策略

登录web页面--> Admin--> policies 可以查看和添加策略

负载均衡(详细操作方法此处不累述LB常识)

1、可以使用阿里云SLB,调度5672端口即可

2、可以使用Haproxy+keepalived,调度5672端口即可

Copyright © 运维知识库 all right reserved,powered by Gitbook文件修订时间: 2023-09-19 10:45:38

results matching ""

    No results matching ""