rabbitmq使用者丟失處理

2021-09-14 00:10:48 字數 1295 閱讀 2994

筆者遇到的丟失情況,在啟動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

使用者丟失的真實原因,摘自引用如下

在部署配置完成後,重啟了一次伺服器,伺服器啟動後重新啟動rabbitmq服務,結果神奇的發現rabbitmq使用者丟失了。

原因如下:

rabbitmq資料是根據當前hostname作為node節點作為資料名儲存

# ls /data/program/rabbitmq/var/lib/rabbitmq/mnesia/

rabbit@centos7-01 [email protected] rabbit@centos7-01-plugins-expand

重啟伺服器之前我修改了hostname,所以重啟之後,rabbitmq服務使用新的hostname來儲存資料。

可以通過新增rabbitmq固定節點名字,保證資料檔案不變。

rabbitmq重啟丟失使用者資訊

一 rabbitmq資料是根據當前hostname作為node節點作為資料名儲存 二 新增rabbimq使用者 三 修改系統hostname sudo vim etc hostnameecho 127.0.0.1 info sudo tee a etc hosts sudo hostname f e...

RabbitMQ防止訊息丟失

rabbitmq中,訊息丟失可以簡單的分為兩種 客戶端丟失和服務端丟失。針對這兩種訊息丟失,rabbitmq都給出了相應的解決方案。回到目錄 如圖,生產者p向佇列中生產訊息,c1和c2消費佇列中的訊息,預設情況下,rabbitmq會平均的分發消費給c1c2 round robin dispatchi...

RabbitMQ防止訊息丟失

rabbitmq一般情況很少丟失,但是不能排除意外,為了保證系統高可用,我們必須作出更好完善措施,保證系統的穩定性。1.訊息持久化 2.ack確認機制 3.設定集群映象模式 4.訊息補償機制 第一種 訊息持久化 rabbitmq 的訊息預設存放在記憶體上面,如果不特別宣告設定,訊息不會持久化儲存到硬...