openstack -------RabbitMQ集群部署

 1、RabbitMQ简介

    RabbitMQ属于一个流行的开源消息队列系统。属于AMQP( 高级消息队列协议 ) 标准的一个 实现。是应用层协议的一个开放标准,为面向消息的中间件设计。用于在分布式系统中存储转发消息,在 易用性、扩展性、高可用性等方面表现不俗。node

2、RabbitMQ工做原理

  MQ 是消费 - 生产者模型的一个典型的表明,一端往消息队列中不断写入消息,而另外一端则能够读取或者订阅队列中的消息。 MQ 则是遵循了 AMQP协议的具体实现和产品。在项目中,将一些无需即时返回且耗时的操做提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提升了系统的吞吐量。web

 

一、客户端链接到消息队列服务器,打开一个channel。vim

二、客户端声明一个exchange,并设置相关属性。服务器

三、客户端声明一个queue,并设置相关属性。cookie

四、客户端使用routing key,在exchange和queue之间创建好绑定关系。app

五、客户端投递消息到exchange。异步

六、 exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里分布式

3、部署RabbitMQ 集群

1>全部机器所有安装测试

yum install -y erlang rabbitmq-server.noarch

2>所有启动spa

 

3>查看启动状态是否启动

 

4>查看监听端口

 

5>lichaohsot1 : 编辑rabbittmq变量文件

vim /etc/rabbitmq/rabbitmq-env.conf

#编辑内容以下

RABBITMQ_NODE_PORT=5672
limit -S -n 4096
RABBITMQ_SERVER_ERL_ARGS="+K true +A30 +P 1048576 -kernel inet_default_connect_options [{nodelay,true},{raw,6,18,<<5000:64/native>>}] -kernel inet_default_listen_options [{raw,6,18,<<5000:64/native>>}]"
RABBITMQ_NODE_IP_ADDRESS=192.168.206.137

6>发送给其余两台机器并修改ip

#1

#2

 

#3修改

 

#4修改

 

7>全部机器开启rabbitmq的web管理页面

rabbitmq-plugins enable rabbitmq_management

8>访问web界面

web界面端口号 : 15672

 

9>输入帐户密码  并登陆(默认为 guest)

 

10>lichaohost1 发送erlang.cookie到其余节点配置集群

 

12>lichaohost2和lichaohost3中止应用,并以ram的方式加入lichaohost1节点,并重启应用

systemctl restart rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@lichaohost1
rabbitmqctl start_app

#

 

13>lichaohost1 查看集群状态

 

14>登陆web 界面 验证

 

 15>添加一个openstack的用户,并设密码为admin。并设置权限和成为管理员

   #1  

rabbitmqctl add_user openstack admin    (添加用户)

 

#2  

rabbitmqctl set_permissions openstack ".*" ".*" ".*"    (设置权限)

 

#3    

rabbitmqctl set_user_tags openstack administrator   (设置为管理员)

 

16>登陆测试

 

#

 

相关文章
相关标签/搜索