接着上一篇文章“RabbitMQ非root用户安装”继续谈一谈集群是如何搭建的,直接开始。
准备3台机器
192.168.10.1
192.168.10.2
192.168.10.3
配置hosts文件
采用的是主机名来通信所以将ip绑定别名。
# Rabbitmq
192.168.10.1 Host10-1
192.168.10.2 Host10-2
192.168.10.3 Host10-3
复制erlang.cookie
Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。
以192.168.10.1为主,其他两台加到该机器下组成集群。
在不指定路径的情况下默认在家目录,这3台机器家目录为/user/
1)查看.erlang.cookie文件
CNMPUGDEEJDQHYGVWCAO
2)采用scp的方式进行复制
scp .erlang.cookie appuser@192.168.10.2:/user/.erlang.cookie
scp .erlang.cookie appuser@192.168.10.3:/user/.erlang.cookie
添加集群
启动192.168.10.1机器上的RabbitMQ,然后在其他两台上执行以下命令:
rabbitmqctl join_cluster rabbit@Host10-1
其中rabbit@Host10-1为192.168.10.1服务器中RabbitMQ的节点名称,若采用内存方式添加命令如下:
rabbitmqctl join_cluster --ram rabbit@Host10-1
多一个“-ram”参数。
查看集群状态:
rabbitmqctl cluster_status
登录管理端查看会看到3个机器部署成功。
镜像集群方式配置
以上已经搭建好默认的集群方式,但并不保证队列的高可用,镜像队列是基于普通的集群模式的,然后再添加一些策略,所以还是得先配置普通集群,然后才能设置镜像队列。
1. 配置策略
登录到192.168.10.1管理端,选择Admin,然后选择右侧policies,然后选择Add/update a policy
属性名称 | 说明 |
---|---|
Name | 策略名称 |
Pattern | 匹配规则,例如a:则匹配a开头的队列,则表示匹配所有队列 |
Definition | 模式,这里选择第一个HA mode ,=后边填写all。同步所有队列 |
填写完整后点击Add policy,进行添加。
2. 查看配置情况
192.168.10.1
另外两台192.168.10.2 ,192.168.10.3,也可以看到配置好的策略。
创建队列测试
1. 在192.168.10.1 管理端进行队列创建
属性名称 | 描述 |
---|---|
Name | 队列名称 |
Durability | 队列是否持久化 |
Node | 消息队列节点 |
Auto delete | 自动删除 |
Arguments | 使用的策略类型 |
信息填写完整后点击Add Queue,查看队列可以看到节点后边有+2。
2. 发送消息验证
点击队列进去然后选择Publish message,填写信息,然后点击发送。
消息发送成功后,再其他服务器或者本机点击Get messages,获取消息。
至此集群搭建配置全部结束,在后续的文章中会介绍RabbitMQ的基本配置以及消息方式。