rabbitmq 重启之后无法登录

遇到一个问题

一个 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 [email protected]
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 文件即可

你可能感兴趣的:(rabbitmqlinux)