Amazon ec2 ejabberdctl启动成功,但状态和停止连接到节点失败

Amazon ec2 ejabberdctl启动成功,但状态和停止连接到节点失败,amazon-ec2,erlang,ejabberd,ejabberd-module,Amazon Ec2,Erlang,Ejabberd,Ejabberd Module,我按照这个指南在集群上设置jabbed 我正在使用两个具有ip的was实例 母版->111.222.333.444 从属->222.333.444.555 但由于我没有配置DNS,所以我使用的ip地址是111.222.333.444等,而不是“master.domain.com” 我还没有成功地看到集群,但在此之前,我的主节点有一个问题 我启动服务器时使用 /tmp/ej1809/sbin/ejabberdctl start 然后我没有得到任何输出,但我在日志中看到服务器启动了 然后我使用

我按照这个指南在集群上设置jabbed

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

母版->111.222.333.444 从属->222.333.444.555

但由于我没有配置DNS,所以我使用的ip地址是111.222.333.444等,而不是“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来停止节点,那么 我明白了

但我无法理解背后的原因


有人能帮我解决吗?

停止并终止像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 help | grep "node name:"
  --node nodename    ejabberd node name: ejabberd@localhost
然后让我们看看ejabberdctl是否可以连接到该节点:

$ epmd -names
epmd: up and running on port 4369 with data:
name ejabberd at port 33519
$ 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_节点。但如果您这样做了,我建议重新安装ejabberd,以确保您具有默认配置,然后重试这些步骤。一旦ejabberd工作正常,您就可以开始修改配置文件(ejabberd.yml和ejabberdctl.cfg),以满足您的实际需求(集群等)

有时,如果在设置集群时遇到问题,您可能会找到一些在中调试问题的方法
停止并终止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 help | grep "node name:"
  --node nodename    ejabberd node name: ejabberd@localhost
然后让我们看看ejabberdctl是否可以连接到该节点:

$ epmd -names
epmd: up and running on port 4369 with data:
name ejabberd at port 33519
$ 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_节点。但如果您这样做了,我建议重新安装ejabberd,以确保您具有默认配置,然后重试这些步骤。一旦ejabberd工作正常,您就可以开始修改配置文件(ejabberd.yml和ejabberdctl.cfg),以满足您的实际需求(集群等)

有时,如果在设置集群时遇到问题,您可能会找到一些在中调试问题的方法

111.222.333.444是真正的机器IP地址,程序可以使用吗?我的意思是,如果你打电话给“ping 111.222.333.444”,这行吗?是的,这是一台真正的机器(无法共享实际的ip地址)。是的,“ping 111.222.333.444”有效。我已经检查过了。111.222.333.444是一个真正的机器IP地址,程序可以使用吗?我的意思是,如果你打电话给“ping 111.222.333.444”,这行吗?是的,这是一台真正的机器(无法共享实际的ip地址)。是的,“ping 111.222.333.444”可以工作。我已经检查过了。我检查过了,发现在运行ejabberd而不编辑“ERLANG_节点”时,一切都运行正常(即只要ejabberd节点运行正常)ejaberd@localhost),但当我编辑ejabberdctl.cfg时,问题再次浮出水面。尽管使用epmd效果很好。非常感谢您提供的附加链接和信息以及回复。我检查了它,发现在运行ejabberd而不编辑“ERLANG_节点”时,一切都运行良好(即只要ejabberd节点运行正常)ejaberd@localhost),但当我编辑ejabberdctl.cfg时,问题再次浮出水面。尽管使用epmd效果很好。非常感谢额外的链接和信息以及回复。