Erlang epmd 问题 - RabbitMQ 和 Ejabberd 在同一主机上
Posted
技术标签:
【中文标题】Erlang epmd 问题 - RabbitMQ 和 Ejabberd 在同一主机上【英文标题】:Erlang epmd issues - RabbitMQ and Ejabberd on same host 【发布时间】:2014-12-05 14:26:39 【问题描述】:我曾经在一个机器上运行两个 ejabberd 服务器和 RabbitMQ 服务器。但是,有些东西崩溃了,epmd 显示了以下内容:
$ ./epmd -names
epmd: up and running on port 4369 with data:
name ejabberdjabberpl at port 48654
name ejabberd at port 55243
name rabbit_crypto at port 25673
name rabbit at port 38794
但是,只有 ejabberdjabberpl 正在运行 - 其他都死了,并且它们没有在端口上监听。现在,当我尝试启动 crased RabbitMQ 服务器或其他 ejabberd 服务器时 - 他们都说 ejabberd 或 rabbit 或 rabbit_crypto 已经存在于节点。
我试图删除 with -stop 但它不起作用:
$ ./epmd -stop rabbit
epmd: local epmd responded with <>
【问题讨论】:
【参考方案1】:如果您确定实际上没有 Erlang 集群代码在运行,那么当这种情况发生时,您应该真正杀死/重新启动 epmd。它有时会被旧数据卡住,从而阻止您重新启动服务。
【讨论】:
我不想杀死在同一个 epmd 上运行的其他节点。【参考方案2】:你怎么知道已经没有兔子和 ejabberd 了? 基于 erlang 的应用程序的典型问题是它的脚本使用称为“cookie”的东西与服务通信。如果有人不小心删除了这个秘密 cookie,脚本就会停止工作。
通过检查ps aux | grep beam
来确保rabbit和ejabberd停止
【讨论】:
我已经检查(使用 netstat)是否有应用程序在这些端口上侦听。之前所有的梁都被移除了。以上是关于Erlang epmd 问题 - RabbitMQ 和 Ejabberd 在同一主机上的主要内容,如果未能解决你的问题,请参考以下文章
Windows 10 上的 RabbitMQ - 无法连接到 epmd:地址(无法连接到主机/端口)
主机 myhost 的 epmd 错误:Windows 10 上的地址(无法连接到主机/端口)