0

我复制了一个 EC2 映像(从 EBS 创建了一个映像,然后创建了一个 AMI 并从该 AMI 启动了一个新实例)。EC2 映像正在运行 debian。

在旧机器上,有一个 ejabberd 实例正在运行。在新机器上 ejabberd 启动有问题。当我问

ejabberctl show

它给

RPC failed on the node ejabberd@localhost: node down

我尝试使用 localhost、dns 名称和 ip 更改 ERLANG_NODE 变量,但总是得到相同的错误。

我尝试重新安装 erlang-base 和 ejabberd,但没有改变。

奇怪的是,在新机器上进行一些测试后,旧机器出现问题,如果我停止旧机器,新机器似乎可以正常运行。

看起来这两个副本属于同一个集群并相互干扰。

知道发生了什么吗?

更新: 我在文件系统中搜索了 .erlang.cookie 文件,但找不到。但是,我试图在家里创建一个空的,但它没有用。

我试图删除软件包并清除 conf 文件(apt-get remove --purge)并重新安装它们。现在看来它正在工作。看起来当我创建 AMI 时,我还复制了一些使 jabber 连接到旧集群的信息,或者类似的东西。

4

1 回答 1

4

清理您的 ejabberd 部署。

^ejab/var/log/ejabberd/*
^ejab/var/lib/ejabberd/*

lib 中的 Mnesia 剩余部分保存主机信息。检查日志文件并检查失败的原因(如果仍然无法启动)

检查 ps -ef | grep ejabberd 如果进程正在运行。Telnet 到预先配置的 ejabberd 端口。

于 2012-05-22T01:43:31.790 回答