RabbitMQ集群部署
- 环境
1 | 主机名如下: |
- 在这三台机器上部署RabbitMQ
- 首先启动rabbitmq1上启动服务
1 | 用来生成.erlang.cookie文件 |
- 读取其中一个节点的cookie,并复制到其他节点
1 | erlang.cookie是erlang实现分布式的必要文件,erlang分布式的每个节点上要保持相同的.erlang.cookie文件,同时保证文件的权限是400。 |
- 逐个启动节点
1 | rabbitmq-server -detached #以守护方式运行rabbitmq-server |
- 服务开机启动
1 | 略 |
- 验证各节点状态
1 | rabbitmqctl status #验证单个服务 |
使用rabbitmqctl方式配置集群
以rabbitmq1为主节点
1 | rabbitmq2上操作如下: |
1 | rabbitmq3上操作如下: |
验证RabbitMQ集群
1 | rabbitmqctl cluster_status 查看集群的状态信息 |
注:如果关闭了集群中的所有节点,则需要确保在启动的时候最后关闭的那个节点是第一个启动的。
RabbitMQ集群节点类型
1 | 共分为2种:磁盘节点和内存节点。内存节点将所有的队列、交换器、绑定关系、用户、权限等元数据信息存储在内存中(提高性能,重启丢失),而磁盘节点则将这些信息存储在硬盘中。rabbitmq默认创建的是硬盘节点,而且它要求集群中至少有一个磁盘节点,所有其他节点都可以是内存节点,但为了可靠性可以配置为至少2个磁盘节点或都为磁盘节点。 |
从集群中剔除单个节点
1 | - 正常方式剔除单个节点 |
查看服务日志
1 | RabbitMQd 日志默认存放在 $RABBITMQ_HOME/var/log/rabbitmq目录内,一般会出现两个log文件 |
RabbitMQ镜像队列
1 | 配置所有节点镜像队列 |
启用RabbitMQ插件
rabbitmq1启用网页插件
1 | mkdir -p /etc/rabbitmq #防报错 |
rabbitmq1添加远程访问用户,这里创建一个openstack用户
1 | 默认网页是不允许访问的,需要增加一个用户修改一下权限,代码如下: |
Web访问查看rabbitmq集群
1 | 使用openstack用户再次访问http://10.0.10.21:15672 |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2018/01/05/RabbitMQ集群部署/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!