OpenStack HA集群2-RabbitMQ集群

简介:

1、安装RabbitMQ-server

[root@controller1 ~]# yum install -y erlang rabbitmq-server

[root@controller1 ~]# systemctl start rabbitmq-server.service

[root@controller1 ~]# systemctl enable rabbitmq-server.service

[root@controller1 ~]# systemctl status rabbitmq-server.service

[root@controller1 ~]# systemctl list-unit-files | grep rabbitmq

rabbitmq-server.service                       enabled

以上三个节点同时进行


2

[root@controller1 ~]# rabbitmqctl add_user openstack zoomtech

Creating user "openstack" ...

[root@controller1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Setting permissions for user "openstack" in vhost "/" ...


[root@controller1 ~]# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent

The following plugins have been enabled:

  webmachine

  rabbitmq_web_dispatch

  rabbitmq_management_agent

  rabbitmq_management

  mochiweb

  amqp_client

Applying plugin configuration to rabbit@controller1... failed.

 * Could not contact node rabbit@controller1.

   Changes will take effect at broker restart.

 * Options: --online  - fail if broker cannot be contacted.

            --offline - do not try to contact broker.

[root@controller1 ~]# systemctl restart rabbitmq-server.service

[root@controller1 ~]# systemctl status rabbitmq-server.service


登录:http://192.168.17.132:15672/#/

Username: guest      Password:guest


新增一个用户,在三个节点中操作

[root@controller1 ~]# rabbitmqctl add_user mqadmin mqadmin

Creating user "mqadmin" ...

[root@controller1 ~]# rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"

Setting permissions for user "mqadmin" in vhost "/" ...

[root@controller1 ~]# rabbitmqctl status


复制.erlang.coolie到controller2和controller3

[root@controller1 ~]# scp /var/lib/rabbitmq/.erlang.cookie controller2:/var/lib/rabbitmq/.erlang.cookie

[root@controller1 ~]#

[root@controller1 ~]# scp /var/lib/rabbitmq/.erlang.cookie controller3:/var/lib/rabbitmq/.erlang.cookie


将controller2加入到controller1集群中

[root@controller2 ~]# systemctl restart rabbitmq-server.service


[root@controller2 ~]# rabbitmqctl stop_app

Stopping node rabbit@controller2 ...


[root@controller2 ~]# rabbitmqctl join_cluster --ram rabbit@controller1

Clustering node rabbit@controller2 with rabbit@controller1 ...


[root@controller2 ~]# rabbitmqctl start_app

Starting node rabbit@controller2 ...


将controller3加入到controller1集群中

[root@controller3 ~]# systemctl restart rabbitmq-server.service


[root@controller3 ~]# rabbitmqctl stop_app

Stopping node rabbit@controller3 ...


[root@controller3 ~]# rabbitmqctl join_cluster --ram rabbit@controller1

Clustering node rabbit@controller3 with rabbit@controller1 ...


在Controller1上查看集群状态

[root@controller1 ~]# rabbitmqctl cluster_status

Cluster status of node rabbit@controller1 ...

[{nodes,[{disc,[rabbit@controller1]},

         {ram,[rabbit@controller3,rabbit@controller2]}]},

 {running_nodes,[rabbit@controller3,rabbit@controller2,rabbit@controller1]},

 {cluster_name,<<"rabbit@controller1">>},

 {partitions,[]},

 {alarms,[{rabbit@controller3,[]},

          {rabbit@controller2,[]},

          {rabbit@controller1,[]}]}]


[root@controller2 ~]# rabbitmqctl cluster_status

Cluster status of node rabbit@controller2 ...

[{nodes,[{disc,[rabbit@controller1]},

         {ram,[rabbit@controller3,rabbit@controller2]}]},

 {running_nodes,[rabbit@controller3,rabbit@controller1,rabbit@controller2]},

 {cluster_name,<<"rabbit@controller1">>},

 {partitions,[]},

 {alarms,[{rabbit@controller3,[]},

          {rabbit@controller1,[]},

          {rabbit@controller2,[]}]}]


本文转自    OpenStack2015 博客,原文链接:   http://blog.51cto.com/andyliu/1901022     如需转载请自行联系原作者


相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
7月前
|
安全 Java API
银行转账p图在线生成, 虚拟转账生成器, 银行卡转账模拟器【娱乐装逼神器】
这是一套模拟银行核心业务逻辑的Java程序,包含账户管理、资金存取与转账、交易记录等功能。代码采用线程安全设计
Vue2分页(Pagination)
本文介绍了如何在 Vue3 中创建一个自定义分页组件(Pagination)。该组件支持传入多个参数,如当前页数、每页条数、是否隐藏单页分页等,并提供了丰富的功能,包括快速跳转、显示数据总量及分页器位置调整。通过示例代码展示了组件的具体实现方式,包括模板结构、计算属性、监听方法及样式设置。此外,还介绍了如何在项目中引入并使用该分页组件。
530 0
Vue2分页(Pagination)
|
12月前
|
机器学习/深度学习 人工智能
Token化一切,甚至网络!北大&谷歌&马普所提出TokenFormer,Transformer从来没有这么灵活过!
Transformer模型在人工智能领域表现出色,但扩展其规模时面临计算成本和训练难度急剧增加的问题。北京大学、谷歌和马普所的研究人员提出了TokenFormer架构,通过将模型参数视为Token,利用Token-Parameter注意力(Pattention)层取代线性投影层,实现了灵活且高效的模型扩展。实验表明,TokenFormer在保持性能的同时大幅降低了训练成本,在语言和视觉任务上表现优异。论文链接:https://arxiv.org/pdf/2410.23168。
286 45
|
11月前
|
数据挖掘
如何制作电子名片二维码?
通过草料二维码制作微信电子名片,轻松创建、管理和分享个人名片二维码。无纸化、智能化、高效便捷,帮助销售、律师、HR等职场人士提升工作效率
|
存储 安全 算法
无线加密技术的种类、工作原理
【4月更文挑战第22天】
631 0
|
机器学习/深度学习 算法
深度学习之因果发现算法
基于深度学习的因果发现算法是一个旨在从复杂数据中自动挖掘变量之间潜在因果关系的研究领域。它结合了传统因果推理方法与深度学习的强大特征提取能力,帮助应对高维、非线性数据中的因果结构发现。
1190 9
|
存储 NoSQL Java
深入学习Redis:从入门到实战
深入学习Redis:从入门到实战
1261 1
|
存储 编译器 芯片
JAX 中文文档(五)(5)
JAX 中文文档(五)
274 0
|
数据库 Python
什么问题会导致404?如何解决404?
什么问题会导致404?如何解决404?
|
数据采集 Windows
【音视频 ffmpeg 学习】麦克风数据采集,命令行播放 持续更新
【音视频 ffmpeg 学习】麦克风数据采集,命令行播放 持续更新

热门文章

最新文章