经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » RabbitMQ » 查看文章
【问题解决】RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)
来源:cnblogs  作者:东北小狐狸  时间:2023/4/28 16:36:11  对本文有异议

问题描述

【k8s】或【普通容器】或【Linux】部署的RabbitMQ启动时出现了 epmd error for host xx.xx: nxdomain (non-existing domain) 错误,MQ无法启动成功。

其中 xx.xx 为无法解析的域名。

RabbitMQ官方还提到报错 Error during startup: {error,no_epmd_port} 也是同样的情况。

解决办法

这里简单记录下解决办法,分别以 Linux环境、docker容器环境、k8s环境、说明下。

Linux环境

/etc/hosts 文件添加域名解析 xx.xx127.0.0.1,以下示例:

  1. 127.0.0.1 mydomain.io

docker容器环境

docker run命令添加 --add-host 参数

--add-host="" : Add a line to /etc/hosts (host:IP)

示例:

  1. docker run -d --add-host="mydomain.io:127.0.0.1" -p 5672:5672 rabbitmq:latest

k8s环境

在 podTemplate的spec下添加 hostname 写上域名,当rabbitmq访问该域名时自动映射到POD上。

示例:

  1. apiVersion: apps/v1
  2. kind: StatefulSet
  3. metadata:
  4. name: rabbitmq
  5. labels:
  6. app: rabbitmq
  7. spec:
  8. replicas: 1
  9. selector:
  10. matchLabels:
  11. app: rabbitmq
  12. serviceName: rabbitmq
  13. template:
  14. metadata:
  15. labels:
  16. app: rabbitmq
  17. spec:
  18. hostname: "mydomain.io"
  19. containers:
  20. - name: rabbitmq
  21. image: 'rabbitmq:latest'
  22. ports:
  23. - name: tcp-5672
  24. containerPort: 5672
  25. protocol: TCP
  26. env:
  27. - name: TZ
  28. value: 'Asia/Shanghai'

k8s官方文档上还有添加 hostAlias 的办法,这里简单截个图放一下文档地址:https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec

参考:

原文链接:https://www.cnblogs.com/hellxz/p/17362562.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号