【Error】sudo: unable to resolve host [hostname]

S:主机名修改之后在 /etc/hosts 里面没有改,所以修改一下就好了
Why:这只是机器在反解上的问题, 所以就直接从/etc/hosts 设定, 让abc(hostname) 可以解回127.0.0.1 的IP 即可.

addr

### RabbitMQ Node Down Hostname Mismatch Error Solution 当遇到 `Node 'rabbit@node1.local' thinks it's clustered with node 'rabbit@node2.local', but 'rabbit@node2.local' disagrees` 的错误时,这通常表明两个节点之间的主机名解析存在冲突或配置不一致。以下是针对此问题的解决方案: #### 1. 验证主机名一致性 确保集群中的所有节点都具有相同的主机名解析方式。可以通过 `/etc/hosts` 文件或者 DNS 来实现统一的名称解析[^1]。 - **检查 /etc/hosts 文件** 确认每台机器上的 `/etc/hosts` 文件中定义了正确的 IP 和主机名映射关系。 ```bash cat /etc/hosts | grep rabbit ``` 如果发现有差异,则需要同步这些文件的内容以保持一致性。 #### 2. 修改 Erlang Cookie 设置 Erlang 节点通过共享同一个 `.erlang.cookie` 文件来验证彼此的身份。如果 cookie 不匹配,即使主机名相同也无法正常通信。 - **确认 .erlang.cookie 是否一致** 登录到每一台服务器上查看该隐藏文件内容是否完全一样: ```bash sudo cat /var/lib/rabbitmq/.erlang.cookie ``` 如果不一致,请复制其中一个有效的 cookie 到其他节点并重启服务: ```bash sudo cp /var/lib/rabbitmq/.erlang.cookie_from_working_node /var/lib/rabbitmq/.erlang.cookie_on_broken_node sudo systemctl restart rabbitmq-server ``` #### 3. 清理旧数据目录 有时残留的数据可能导致新启动的服务尝试连接不存在的老节点。因此建议清理掉有问题节点的相关存储路径后再重新加入集群。 - 停止当前实例 ```bash sudo rabbitmqctl stop_app ``` - 删除 mnesia 数据库 (注意备份重要资料) ```bash sudo rm -rf /var/lib/rabbitmq/mnesia/ ``` - 启动应用并重置节点状态 ```bash sudo rabbitmqctl reset sudo rabbitmqctl start_app ``` 最后按照官方文档指导完成新的集群组建过程. #### 4. 使用 Fully Qualified Domain Names(FQDNs) 推荐始终采用完整的域名而非短名称构建 RabbitMQ 集群成员间的联系。这样可以减少因本地配置引起的误解风险。 例如,在设置环境变量 RABBITMQ_NODENAME 或者运行命令时指定 FQDN: ```bash export RABBITMQ_NODENAME=rabbit@fully.qualified.domain.name ``` 以上方法能够有效处理由主机名不符引发的 RabbitMQ 下线状况。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值