修改hostname导致RabbitMQ数据丢失

背景介绍

公司的很多关键服务都使用了RabbitMQ来作为消息队列服务, 可以说是非常地关键的一个环节, 最近由于业务量的上升, 导致RabbitMQ的CPU持续走高, 所以抽空研究了一下RabbitMQ的扩容, 利用我们自己运维平台使用的一个单节点的RabbitMQ来作为测试吧.看到这个单节点的RabbitMQ的服务器主机名不是很规范, 所以就顺手改了主机名, 然后重启了RabbitMQ服务, 重启后看了RabbitMQ的日志, 发现有大量的因为密码错误而连接失败的, 如下:

复制代码
AMQPLAIN login refused: user 'test' - invalid credentials

发现RabbitMQ的管理后台也登陆不进去了, 这时候我意识到RabbitMQ的数据丢失了, 至少是用户的数据丢失了, 因为管理后台登陆不上了, 我登录到服务器上列出了所有的用户:

复制代码
root@test-01:/# rabbitmqctl list_users

Listing users ...

guest [administrator]

发现只有guest用户了, 这时候我按照之前的用户重新创建了用户后恢复了, 后来查了一下官方文档:

bash 复制代码
In addition to that, by default RabbitMQ names the database directory using the current hostname of the system. If the hostname changes, a new empty database is created. To avoid data loss it's crucial to set up a fixed and resolvable hostname
结论

修改主机名最后在集群安装之前规划好, 集群搭建完以后主机名一定不能修改, 谨记。

相关推荐
feathered-feathered9 分钟前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
lang2015092814 分钟前
深入解析Kafka Broker核心读写机制
分布式·kafka
lang201509281 小时前
Kafka高水位与日志末端偏移量解析
分布式·kafka
Tadas-Gao1 小时前
GraphQL:下一代API架构的设计哲学与实践创新
java·分布式·后端·微服务·架构·graphql
lang201509282 小时前
Kafka副本管理核心:ReplicaManager揭秘
分布式·kafka·linq
GGBondlctrl4 小时前
【Redis】从单机架构到分布式,回溯架构的成长设计美学
分布式·缓存·架构·微服务架构·单机架构
编织幻境的妖5 小时前
Zookeeper在大数据集群中的作用详解
大数据·分布式·zookeeper
beijingliushao5 小时前
102-Spark之Standalone环境安装步骤-2
大数据·分布式·spark
Wang's Blog5 小时前
RabbitMQ: 消息可靠性保障机制深度解析与工程实践
rabbitmq
acrelgxy6 小时前
告别盲测,预见温度:安科瑞如何用无线技术革新变电站安全
分布式·安全·电力监控系统·智能电力仪表