各组件通过消息发送与接收是实现组件之间的通信:

6.1安装RabbitMQ

6.1.1安装RabbitMQ

# yum install rabbitmq-server –y

# systemctl start rabbitmq-server.service

6.1.2 添加rabbitMQ 客户端用户并设置密码:

# rabbitmqctl add_user openstack 123456

6.1.3赋予openstack用户读写权限:

#  rabbitmqctl set_permissions openstack ".*" ".*" ".*"

6.1.4rabbitMQ的web插件安装:

#  rabbitmq-plugins  enable rabbitmq_management

#  rabbitmq-plugins  list #查看插件

6.1.5访问rabbitMQ的web界面:

默认用户名密码都是guest,可以更改,web访问端口为15672:

6.2配置RabbitMQ集群:

6.2.1RabbitMQ集群原理:

Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。而Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信。

6.2.2配置RabbitMQ集群

6.2.2.1复制.erlang.cookie文件

# scp /var/lib/rabbitmq/.erlang.cookie  192.168.10.202:/var/lib/rabbitmq/.erlang.cookie

6.2.2.2使用detached独立运行

各服务器停止所有节点RabbitMq服务,然后使用detached参数以节点方式独立运行

# systemctl  stop  rabbitmq-server

# rabbitmq-server –detached

6.2.2.3查看各个集群状态:

# rabbitmqctl  cluster_status

Cluster status of node 'rabbit@linux-host1'

6.2.2.4添加节点

在要加入集群的节点操作

# rabbitmqctl  stop_app #停止应程序

# rabbitmqctl   reset #清空元数据

# rabbitmqctl  join_cluster rabbit@linux-host2 --ram #将rabbitmq-server1添加到集群当中,并成为内存节点,不加--ram默认是磁盘节点

# rabbitmqctl  start_app #不要忘记启动应用程序

6.2.2.5验证集群

# rabbitmqctl   cluster_status

Cluster status of node 'rabbit@rabbitmq-server1' ...

[{nodes,[{disc,['rabbit@linux-host1']}, #默认是磁盘节点

{ram,['rabbit@linux-host2']}]}]  #内存节点

...done.

# rabbitmqctl   cluster_status #添加之后的集群状态

Cluster status of node 'rabbit@linux-host2' ...

[{nodes,[{disc,['rabbit@linux-host1']}, #默认的是磁盘节点

{ram,['rabbit@linux-host2']}]}]  #自己被添加为内存节点

...done.

6、更改为镜像模式:

# rabbitmqctl set_policy  ha-all "#"  '{"ha-mode":"all"}' #"#"为任意0个或多个即为所有,也可以使用"^test"匹配开头,还可以使用其他正则匹配

Setting policy "ha-all" for pattern "#" to "{\"ha-mode\":\"all\"}" with priority "0" ...

...done.

6.3验证

访问web界面:默认用户名为guest密码为guest

Openstack(六)RabbitMQ集群的更多相关文章

  1. openstack controller ha测试环境搭建记录(五)——配置rabbitmq集群

    配置rabbitmq集群的步骤非常简单,因为其本身含集群功能,参考openstack官网文档:http://docs.openstack.org/ha-guide/controller-ha-rabb ...

  2. RabbitMQ系列(六)你不知道的RabbitMQ集群架构全解

    前言 本文将系统的介绍一下RabbitMQ集群架构的特点.异常处理.搭建和使用中要注意的一些细节. 知识点 一.为什么使用集群? 二.集群的特点 三.集群异常处理 四.集群节点类型 五.集群搭建方法 ...

  3. openstack(2) -------RabbitMQ集群部署

    一.RabbitMQ简介 RabbitMQ属于一个流行的开源消息队列系统.属于AMQP( 高级消息队列协议 ) 标准的一个 实现.是应用层协议的一个开放标准,为面向消息的中间件设计.用于在分布式系统中 ...

  4. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  5. 私有云Rabbitmq 集群部署

    默认openstack使用rabbitmq做信息队列,如果想要是云高可用,那么需要对每个涉及的组件都进行高可用配置,本文介绍如何使用rabbitmq 做高可用 高可用方法 通过 Erlang 的分布式 ...

  6. RabbitMQ集群搭建和使用

    一.环境准备 1.选择RabbitMQ的版本 http://www.rabbitmq.com/changelog.html 注: 不同版本的Linux选择的RabbitMQ版本也不同,参照 http: ...

  7. Centos6.9下RabbitMQ集群部署记录

    之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...

  8. 高可用rabbitmq集群服务部署步骤

    消息队列是非常基础的关键服务,为保证公司队列服务的高可用及负载均衡,现通过如下方式实现: RabbitMQ Cluster + Queue HA + Haproxy + Keepalived 3台ra ...

  9. 基于Kubernetes(k8s)的RabbitMQ 集群

    目前,有很多种基于Kubernetes搭建RabbitMQ集群的解决方案.今天笔者今天将要讨论我们在Fuel CCP项目当中所采用的方式.这种方式加以转变也适用于搭建RabbitMQ集群的一般方法.所 ...

随机推荐

  1. oracle数据库触发器(trigger)用法总结

    from:http://blog.csdn.net/zhanzhib/article/details/48729417 触发器的意思就是当我们对数据库对象(一般是表或视图)进行insert.updat ...

  2. 工具类之数据库工具类:DBUtil(採用反射机制)

    常常操作数据库的码农们一定知道操作数据库是一项非常复杂的工作.它不仅要解决各种乱码的问题还要解决各种数据表的增删改查等的操作. 另外每次操作数据库都要用到数据库连接.运行SQL语句.关闭连接的操作.所 ...

  3. mybatis由浅入深day01_4.7根据用户名称模糊查询用户信息_4.8添加用户((非)自增主键返回)

    4.7 根据用户名称模糊查询用户信息 4.7.1 映射文件 使用User.xml,添加根据用户名称模糊查询用户信息的sql语句. 4.7.2 程序代码 控制台: 4.8 添加用户 4.8.1 映射文件 ...

  4. webpack2.0简单配置教程

    以前习惯用gulp+less来开发项目,由于公司项目用的vue开发的,所以学下webpack这个打包工具.以下是我学习时的笔记,希望给在webpack配置过程中遇到麻烦的朋友一丝帮助. 目前只配置了s ...

  5. Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续一)

    通过前一节得出地址可能的构建规律,如下: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksT ...

  6. Nginx遇上Access Denied提示怎么解决

    这几天在摆弄linux下面的各种服务器,对nginx非常有兴趣. 于是把phpmyadmin传上去了,先是phpmyadmin配了半天,结果配好之后发现phpmyadmin一些logo.css.js文 ...

  7. 详解Integer.toString(int i)方法和String.valueOf(int i)方法

    通过查看String类的源码: public static String valueOf(int i) { return Integer.toString(i); } 我们可以看到,String.va ...

  8. Android 设置wifi共享电脑服务器资源

    其实win7本身就自带无线热点的功能,按下面的方法设置. 开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费和路由器购买 ...

  9. 设计模式之工厂方法模式(Java实现)

    “我先来”,“不,老公,我先!”.远远的就听到几个人,哦不,是工厂方法模式和抽象工厂模式俩小夫妻在争吵,尼妹,又不是吃东西,谁先来不都一样(吃货的世界~).“抽象工厂模式,赶紧的自我介绍,工厂方法模式 ...

  10. 【文智背后的奥秘】系列篇——分布式爬虫之WebKit

    版权声明:本文由文智原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/139 来源:腾云阁 https://www.qclou ...