前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >openstack配置rabbit cluster并使用

openstack配置rabbit cluster并使用

作者头像
tanmx
发布2018-07-17 14:29:43
1K0
发布2018-07-17 14:29:43
举报

生产环境中至少运行3个rabbitmq服务器,测试环境中我们可以只运行两个,我们配置了两个节点,分别为controller1和controller2。

为HA队列配置RabbitMQ

  1. 在controller1上启动使用以下命令启动rabbitmq 复制
代码语言:javascript
复制
# systemctl start rabbitmq
  1. 从controller1上复制cookie到其他的节点 复制
代码语言:javascript
复制
# scp root@NODE:/var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie

需要修改NODE为controller1或者对应

  1. 在每个目标节点上确认 erlang.cookie 文件的用户,组和权限 复制
代码语言:javascript
复制
# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
# chmod 400 /var/lib/rabbitmq/.erlang.cookie
  1. 设置rabbitmq开机自启并启动其他节点的rabbitmq-server 复制
代码语言:javascript
复制
# systemctl enable rabbitmq-server
# systemctl start rabbitmq-server
  1. 使用以下命令确认rabbitmq-server在每个节点正确运行 复制
代码语言:javascript
复制
# rabbitmqctl cluster_status
Cluster status of node rabbit@controller1...
[{nodes,[{disc,[rabbit@ controller1]}]},
{running_nodes,[rabbit@ controller1]},
{partitions,[]}]
...done.
  1. 除第一个节点(controller1)外,其他节点执行以下命令加入集群 复制
代码语言:javascript
复制
# rabbitmqctl stop_app
Stopping node rabbit@controller2...
...done.
# rabbitmqctl join_cluster --ram rabbit@ controller1
# rabbitmqctl start_app
Starting node rabbit@ controller2...
...done.</pre>
  1. 确认集群状态 复制
代码语言:javascript
复制
# rabbitmqctl cluster_status
Cluster status of node rabbit@controller1...
[{nodes,[{disc,[rabbit@ controller1]},{ram,[rabbit@ controller2]}]}, \
    {running_nodes,[rabbit@NODE,rabbit@ controller1]}]
  1. 为了确保所有队列除了名字自动生成的可以在所有运行的节点上镜像,设置 ha-mode 策略,在任意节点上执行 复制
代码语言:javascript
复制
# rabbitmqctl set_policy ha-all '^(?!amq\.).*' '{"ha-mode": "all"}

配置openstack服务使用rabbitmq ha queues

  1. 使用方法 复制
代码语言:javascript
复制
rabbit_hosts=controller1:5672,controller2:5672
  1. RabbitMQ尝试重连的时间(这里的单位是?秒?) 复制
代码语言:javascript
复制
rabbit_retry_interval=1
  1. How long to back-off for between retries when connecting to RabbitMQ 复制
代码语言:javascript
复制
rabbit_retry_backoff=2
  1. 最小尝试重连RabbitMQ的次数(默认是无限) 复制
代码语言:javascript
复制
rabbit_max_retries=0
  1. 在RabbitMQ中使用durable queues 复制
代码语言:javascript
复制
rabbit_durable_queues=true</pre>
  1. 在RabbitMQ中使用HA queues 复制
代码语言:javascript
复制
rabbit_ha_queues=true

NOTE:如果想更改从没有使用HA queues的旧配置到HA queues,你需要重启服务

复制

代码语言:javascript
复制
# rabbitmqctl stop_app
# rabbitmqctl reset
# rabbitmqctl start_app

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为HA队列配置RabbitMQ
  • 配置openstack服务使用rabbitmq ha queues
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档