rabbitmq 重啟之後無法登入

ponponon發表於2023-02-24

遇到一個問題

一個 rabbitmq server 的記憶體不夠了,加了記憶體之後重啟

重啟後發現,賬號登入不上了!

嚇死我

研究了一下,原因如下:

  • rabbitmq sever 依賴 hostname。
  • 機器上的 hostname 沒有持久化,重啟之後,hostname 變了

先來說說第一個問題。

rabbitmq server 的資料持久化儲存在 /vobiledata/rabbitmq 目錄下面:

root@iZbp1ghi852mxfw5grbimsZ:/vobiledata/rabbitmq# ll
total 40K
drwxr-xr-x 7 rabbitmq rabbitmq 4.0K Feb 17 21:44 .
drwxr-xr-x 4 root     root     4.0K Feb 24  2022 ..
drwxr-x--- 2 rabbitmq rabbitmq 4.0K Feb 17 21:37 log
drwxr-x--- 5 rabbitmq rabbitmq 4.0K Feb 17 21:45 rabbit@iZbp1ghi852mxfw5grbimsZ
-rw-r----- 1 rabbitmq rabbitmq  163 Feb 17 21:37 rabbit@iZbp1ghi852mxfw5grbimsZ-feature_flags
-rw-r----- 1 rabbitmq rabbitmq    4 Feb 17 21:44 rabbit@iZbp1ghi852mxfw5grbimsZ.pid
drwxr-x--- 2 rabbitmq rabbitmq 4.0K Feb 17 21:44 rabbit@iZbp1ghi852mxfw5grbimsZ-plugins-expand
drwxr-x--- 5 rabbitmq rabbitmq 4.0K Feb 17 21:35 rabbit@szbq-rabbitmq-52
-rw-r----- 1 rabbitmq rabbitmq  137 Jul 15  2022 rabbit@szbq-rabbitmq-52-feature_flags
drwxr-x--- 2 rabbitmq rabbitmq 4.0K Feb 17 19:39 rabbit@szbq-rabbitmq-52-plugins-expand

重啟之前,我的 hostname 是 szbq-rabbitmq-52,重啟之後 hostname 變成了 iZbp1ghi852mxfw5grbimsZ,因為 hostname 變了,所以 rabbitmq sevrer 在 /vobiledata/rabbitmq 下又建立了一個關於 iZbp1ghi852mxfw5grbimsZ 的一堆目錄,而我之前的資料,包括 excharge、queue、message甚至賬號資訊都是儲存在 rabbit@szbq-rabbitmq-52 相關目錄下面的

所以,這個問題要怎麼解決,其實就是修改 hostname,然後重啟一下 rabbitmq server,一切都就回來了

service rabbitmq-server restart
參考: rabbitmq 如何在 docker 下做資料持久化?

然後說會第二個問題,hostname 持久化和不持久化的問題

hostname 怎麼樣是不持久化的?hostname szbq-rabbitmq-52 這樣執行就是臨時的 ,機器重啟就會回去

那要怎麼持久化 hostname?修改 /etc/hostname 檔案即可

相關文章