openstack(三)AMQP(RabbitMQ)

一、简介

所有Red Hat Openstack服务之间都使用RabbitMQ(统一消息系统)进行通讯。

默认RabbitMQ监听5672端口,RabbitMQ支持基于账户与密码的访问并可以实现SSL加密,如果启用了SSL加密则端口需要修改为5671。

RabbitMQ comes with default built-in settings which will most likely be sufficient for running your RabbitMQ server effectively. If it runs fine, then you probably don‘t need any configuration at all.

二、配置

安装(以Redhat7/CentOS7为例):

# yum install rabbitmq-server
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
[[email protected] ~]# cat /etc/rabbitmq/rabbitmq-env.conf
NODE_PORT=5672

environment variables:

----define ports, file locations and names (taken from the shell, or set in the rabbitmq-env.conf file)

[email protected] ~]# cat /etc/rabbitmq/rabbitmq.config
% This file managed by Puppet
% Template Path: rabbitmq/templates/rabbitmq.config
[
  {rabbit, [
    {tcp_listen_options,
         [binary,
         {packet,        raw},
         {reuseaddr,     true},
         {backlog,       128},
         {nodelay,       true},
         {exit_on_close, false}]
    },
    {loopback_users, []},
    {tcp_listen_options, [binary,{packet, raw},{reuseaddr, true},{backlog, 128},{nodelay, true},{exit_on_close, false},{keepalive, true}]},
    {default_user, <<"guest">>},
    {default_pass, <<"guest">>}
  ]},
  {kernel, [

  ]}
].
% EOF

configuration file:

----defines server component settings for permissions, limits and clusters, and also plugin settings.

三、

RabbitMQ通过其他组件来调用,确认每个Openstack组件都正确的配置了RabbitMQ:

#grep rabbit /etc/keystone/keystone.conf
#grep rabbit /etc/nova/nova.conf
#grep rabbit /etc/cinder/cinder.conf
#grep rabbit /etc/neutron/neutron.conf
#grep rabbit /etc/glance/glance-api.conf
时间: 2024-10-12 18:13:51

openstack(三)AMQP(RabbitMQ)的相关文章

Distributed Programming With Ruby》读书笔记七 Starling and AMQP/RabbitMQ (Part3 chapter7-8)

Part III Distributed Message Queues Part III breaks from this "traditional" approach of distributed computing and looks at distributed message queues. Chapter7 Starling:  Including 9 parts: What Is a Distributed Message Queue? Installation Getti

spring amqp rabbitmq fanout配置

基于spring amqp rabbitmq fanout配置如下: 发布端 <rabbit:connection-factory id="rabbitConnectionFactory" username="guest" password="guest" host="localhost" port="5672"/> <rabbit:template id="amqpTempla

理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 (2)Swift 原理和架构 (3)Swift 监控 (4)Swift 性能 要实现的系统的效果图: 特点: 使用三个对等物理节点,每个节点上部署所有Swift 服务 使用开源的 UCARP 控制一个 VIP,它会被绑定到三个物理网卡中的一个. 使用开源的 HAProxy 做负载均衡 开启 Swift

OpenStack三个节点icehouse

一.环境准备 1.架构 创建3台虚拟机,分别作为controll节点.network节点和compute1节点. Controller节点:1processor,2G memory,5G storage. Network节点:1processor,2G memory,5G storage. Comute1节点:1processor,2G memory,5G storage. 架构图: 外部网络:提供上网业务,外界登录openstack(在上图为蓝色模块) 管理网络:三节点通信比如keystone

openstack三个节点icehouse-gre模式部署

一.环境准备 1.架构 创建3台虚拟机,分别作为controll节点.network节点和compute1节点. Controller节点:1processor,2G memory,5G storage. Network节点:1processor,2G memory,5G storage. Comute1节点:1processor,2G memory,5G storage. 架构图: 外部网络:提供上网业务,外界登录openstack(在上图为蓝色模块) 管理网络:三节点通信比如keystone

RabbitMQ概念及环境搭建(三)RabbitMQ cluster

测试环境:VMS00781 VMS00782 VMS00386 (centos5.8) 1.先在三台机器上分别安装RabbitMQ Server 2.读取其中一个节点的cookie,并复制到其他节点(节点间通过cookie确定相互是否可通信) 两者之一均可: sudo vim /var/lib/rabbitmq/.erlang.cookie sudo vim $HOME/.erlang.cookie 3.逐个启动节点 sudo service rabbitmq-server start 4.查看

Openstack中使用rabbitmq获取vm状态变化

需求 及时知道vm状态的变化 分析 Dashboard中也是通过定时使用ajax调用API来获取虚拟机的状态信息的 定时轮训的方式过于被动 解决方案 共用rabbitmq 实现方法 配置nova.conf(类似配置ceilomter) vi /etc/nova/nova.conf notification_driver = nova.openstack.common.notifier.rpc_notifier notify_on_state_change=vm_and_task_state 重启

[置顶] RabbitMQ概念及环境搭建(三)RabbitMQ cluster

http://blog.csdn.net/zyz511919766/article/details/41896747 测试环境:VMS00781 VMS00782 VMS00386 (centos5.8)1.先在三台机器上分别安装RabbitMQ Server 2.读取其中一个节点的cookie,并复制到其他节点(节点间通过cookie确定相互是否可通信)两者之一均可:sudo vim /var/lib/rabbitmq/.erlang.cookiesudo vim $HOME/.erlang.

三、RABBITMQ的几个基本概念

Producer 实际发布消息的角色,Producer发送消息的时候,首先是发送到Exchange,然后RabbitMQ根据Exchange的类型和逻辑来判断应该发送到那个Queue中,所以Queue必须bind到特定的Exchange上才能获取消息,绑定的时候可以提供一个routing_key来判断选择的什么消息,publisher在发出消息的时候就可以制定不同的routing_key来选择如何分布消息     Queue 是实际消息存放的角色,消息从Queue一端放入,另一端由Consume