搭建OpenStack的Message queue及出现的问题

2 篇文章 0 订阅
2 篇文章 0 订阅

搭建OpenStack的消息队列

OpenStack支持多种消息队列服务,包括RabbitMQ, Qpid和ZeroMQ。但是,大多数打包OpenStack的发行版都支持特定的消息队列服务。(本段引用OpenStack官方英文文档)

搭建OpenStack的Message queue及出现的问题

一、安装与配置(来自OpenStack官方文档)
1.安装软件包

// Install the package
# yum install rabbitmq-server

2.启动消息队列服务,并将其配置为在系统引导时启动

// Start the message queue service and configure it to start when the system boots
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service

3.添加openstack用户

// Add the openstack user
# rabbitmqctl add_user openstack RABBIT_PASS

Creating user "openstack" ...

替换RABBIT_PASS为合适的密码。(我使用密码为“admin”)

4.许用户配置,写入和读取访问权限 openstack

// Permit configuration, write, and read access for the openstack user
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

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

二、出现的问题
本人使用CentOS配置OpenStack,在配置此消息队列服务时出现一个错误,寻找了很多解决办法。
相信大家也可能会出现类似错误。
下面具体说下,我配置出现的错误。
在添加OpenStack账户时,报错:

[root@controller admin1]# rabbitmqctl add_user openstack admin
Error: unable to connect to node rabbit@[配置CentOS时你的主机名]: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@[配置CentOS时你的主机名]]

rabbit@[配置CentOS时你的主机名]:
  * unable to connect to epmd (port 4369) on [配置CentOS时你的主机名]: nxdomain (non-existing domain)


current node details:
- node name: 'rabbitmq-cli-78@controller'
- home dir: /var/lib/rabbitmq
- cookie hash: lFMmQspM0wn8y/brhqEC5w==

问题关键可能是出在:Error: unable to connect to node rabbit@[配置CentOS时你的主机名]: nodedown
这个nodedown应该是节点宕机的意思。我去查了一下我的/etc/hosts文件。

# cat /etc/hosts
# controller
192.168.200.130 controller

# compute1
192.168.200.134 compute1

#block1
10.0.0.41 block1

#object1
10.0.0.51 object1

#boject2
10.0.0.52 object2

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

controller的名字和我的主机名是匹配的,但是为什么宕机呢?
找了很多解决办法都无法成功解决,直到我尝试了一下制定集群节点设置。灵感来自:

http://www.manongjc.com/detail/14-jmqwnkkyqtykwmu.html

三、解决办法
添加 -n rabbit@controller

[root@controller admin1]# rabbitmqctl  add_user openstack admin -n rabbit@controller
Creating user "openstack"
输入下面语句同样出现此问题
[root@controller admin1]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Error: unable to connect to node rabbit@[配置CentOS时你的主机名]: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@[配置CentOS时你的主机名]]

rabbit@[配置CentOS时你的主机名]:
  * unable to connect to epmd (port 4369) on wayeal: nxdomain (non-existing domain)


current node details:
- node name: 'rabbitmq-cli-98@controller'
- home dir: /var/lib/rabbitmq
- cookie hash: lFMmQspM0wn8y/brhqEC5w==
解决办法一样是定制集群节点。
添加 -n rabbit@controller
[root@controller admin1]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" -n rabbit@controller
Setting permissions for user "openstack" in vhost "/"

总结:当你弄了好几个小时没结果,突然一次不经意的尝试,居然看到想要的结果,那种感觉是非常棒的。第一次写博客,算是对某个技术的总结与问题排查的具体描述,有没写到的地方或者有错的地方希望大家可以留言告诉我,感谢同学们的支持,感谢技术大佬的批评指正。

好了,我是彭摆鱼安徽分晏,咱们下篇文章见。

微博链接: 微博.
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值