[问题解决]RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)

科技资讯 投稿 7300 0 评论

[问题解决]RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)

问题描述

epmd error for host xx.xx: nxdomain (non-existing domain 错误,MQ无法启动成功。

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

Error during startup: {error,no_epmd_port} 也是同样的情况。

解决办法

Linux环境

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

127.0.0.1 mydomain.io

docker容器环境

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

示例:

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

k8s环境

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

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
  labels:
    app: rabbitmq
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rabbitmq
  serviceName: rabbitmq
  template:
    metadata:
      labels:
        app: rabbitmq
    spec:
      hostname: "mydomain.io"
      containers:
        - name: rabbitmq
          image: 'rabbitmq:latest'
          ports:
            - name: tcp-5672
              containerPort: 5672
              protocol: TCP
          env:
            - name: TZ
              value: 'Asia/Shanghai'

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

参考:

    https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec
  • https://docs.docker.com/engine/reference/run/#network-settings
  • https://www.rabbitmq.com/kubernetes/operator/troubleshooting-operator.html#pods-restart-on-startup

编程笔记 » [问题解决]RabbitMQ启动出现epmd error for host xx.xx: nxdomain (non-existing domain)

赞同 (36) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽