rabbitmq用户丢失处理

7 篇文章 1 订阅
4 篇文章 0 订阅

笔者遇到的丢失情况,在启动neutron-server的时候 报错如下

2019-03-28 19:50:14.383 26351 ERROR oslo_service.service MessageDeliveryFailure: Unable 
to connect to AMQP server on db-vip:5672 after None tries: (0, 0): (403) ACCESS_REFUSED 
- Login was refused using authentication mechanism AMQPLAIN. For details see the broker 
logfile.

可发现与rabbitmq组件有关,用rabbitmqctl list_users发现缺少之前建立好的用户openstack,其缺失的原因在于重启后rabbitmq用户信息丢失,用如下命令添加用户

rabbitmqctl add_user openstack openstack 
rabbitmqctl set_permissions openstack ".*" ".*" ".*" 
rabbitmqctl  set_user_tags openstack administrator
systemctl restart rabbitmq-server.service

为了确保下次重启不致rabbitmq用户丢失,作如下处理

echo 'NODENAME=rabbit@controller1' | sudo tee -a /etc/rabbitmq/rabbitmq-env.conf
############# 默认用户@节点hostname

用户丢失的真实原因,摘自https://www.lucissfer.com/2018/05/07/Centos7%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AERabbitMQ/,引用如下

在部署配置完成后,重启了一次服务器,服务器启动后重新启动RabbitMQ服务,结果神奇的发现RabbitMQ用户丢失了。
原因如下:

RabbitMQ数据是根据当前hostname作为node节点作为数据名保存
# ls /data/program/rabbitmq/var/lib/rabbitmq/mnesia/
rabbit@Centos7-01  rabbit@Centos7-01.pid  rabbit@Centos7-01-plugins-expand


重启服务器之前我修改了hostname,所以重启之后,RabbitMQ服务使用新的hostname来保存数据。

可以通过添加RabbitMQ固定节点名字,保证数据文件不变。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值