修改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
结论

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

相关推荐
跟着珅聪学java14 小时前
在电商系统中,如何确保库存扣减的原子性
分布式
JH307316 小时前
Redisson 看门狗机制:让分布式锁“活”下去的智能保镖
分布式
一点 内容17 小时前
深入理解分布式共识算法 Raft:从原理到实践
分布式·区块链·共识算法
8Qi817 小时前
分布式锁-redission
java·redis·分布式·redisson
18 小时前
鸿蒙——分布式数据库
数据库·分布式
jiayong2318 小时前
微服务架构与 Spring 生态完全指南
kafka·rabbitmq·rocketmq
Hui Baby18 小时前
分布式多阶段入参参数获取
分布式
阿拉斯攀登21 小时前
Spring Cloud Alibaba 生态中 RocketMQ 最佳实践
分布式·微服务·rocketmq·springcloud·cloudalibaba
无锡布里渊21 小时前
感温光纤 DTS 系统 vs 感温电缆 对比分析报告
分布式·实时监测·分布式光纤测温·线型感温火灾监测·感温电缆
g323086321 小时前
分布式框架seata AT模式源码分析
java·数据库·分布式