【问题标题】:ejabberdctl start succeeds,but status and stop failed to connect to nodeejabberdctl start 成功,但 status 和 stop 无法连接到节点
【发布时间】:2019-08-27 02:27:55
【问题描述】:

我按照本指南在集群 http://chadillac.github.io/2012/11/17/easy-ejabberd-clustering-guide-mnesia-mysql/ 上设置刺戳

我正在使用两个具有 ip 的实例

大师 -> 111.222.333.444 奴隶 -> 222.333.444.555

但由于我没有配置 DNS,所以我使用 111.222.333.444 等 IP 地址而不是“master.domain.com”。

我还没有成功查看集群,但在此之前我的主节点有问题。

我用

启动服务器
/tmp/ej1809/sbin/ejabberdctl start

然后我没有得到任何输出,但我在日志中看到服务器已启动。

然后我使用

检查状态
/tmp/ej1809/sbin/ejabberdctl status 

但我得到的错误是

Failed RPC connection to the node 'ejabberd@111.222.333.444’: nodedown

甚至当我尝试使用 /tmp/ej1809/sbin/ejabberdctl stop 停止节点时 我明白了

Failed RPC connection to the node 'ejabberd@111.222.333.444’: nodedown

但我无法理解背后的原因。

谁能帮我解决一下?

【问题讨论】:

  • 111.222.333.444是真机IP地址,程序可以使用吗?我的意思是,如果你调用“ping 111.222.333.444”,会起作用吗?
  • 是的,这是一台真机(无法分享实际IP地址)。是的,“ping 111.222.333.444”有效。我已经检查过了。

标签: amazon-ec2 erlang ejabberd ejabberd-module


【解决方案1】:

停止并终止 epmd、erl、beam 等进程。

然后使用“ejabberdctl live”启动 ejabberd,这将使 erlang shell 保持打开状态,以便您实时查看日志消息,包括 erlang 节点名称:

...
13:21:22.662 [info] ejabberd 19.02.52 is started in the node ejabberd@localhost in 7.07s
13:21:22.667 [info] Start accepting TCP connections at 0.0.0.0:5444 for ejabberd_http
13:21:22.667 [info] Application ejabberd started on node ejabberd@localhost

您可以检查“epmd”是否知道该节点:

$ epmd -names
epmd: up and running on port 4369 with data:
name ejabberd at port 33519

那我们看看ejabberdctl能不能连接到那个节点:

$ ejabberdctl help | grep "node name:"
  --node nodename    ejabberd node name: ejabberd@localhost

最后:

$ ejabberdctl status
The node ejabberd@localhost is started with status: started
ejabberd 19.02.52 is running in that node

我假设您尚未编辑 ejabberdctl.cfg 中的任何内容,特别是 ERLANG_NODE。但如果你这样做了,我建议重新安装 ejabberd,以确保你有默认配置,然后重试这些步骤。一旦 ejabberd 完美运行,您就可以开始修改配置文件(ejabberd.yml 和 ejabberdctl.cfg)以满足您的实际需求(集群等)。

有时,如果您在设置集群时遇到问题,您可能会找到一些想法来调试问题 https://ejabberd.im/interconnect-erl-nodes/index.html

【讨论】:

  • 我检查了一下,发现在不编辑“ERLANG_NODE”的情况下运行ejabberd时,一切都运行良好(即只要ejabberd节点以ejaberd@localhost运行),但是当我编辑ejabberdctl.cfg时,问题重新浮出水面。虽然使用 epmd 工作正常。非常感谢您提供额外的链接和信息以及回复。
猜你喜欢
  • 2016-07-03
  • 2018-08-03
  • 2021-07-26
  • 2012-04-25
  • 2015-03-21
  • 2013-09-13
  • 2015-07-17
  • 2016-12-10
  • 2022-11-03
相关资源
最近更新 更多