我目前正在尝试使用 2 个 EC2 实例对 ejabberd 进行集群,但我遇到了一些问题。我有 2 个实例,在这 2 个实例前面有一个 AWS 网络负载均衡器。网络负载均衡器连接到域名 (www.example.com) 并将流量路由到两个实例。我当前用于两个实例的 ejabberd.yml 文件具有以下主机:-
hosts:
- "www.example.com"
对于 node1,我修改 ejabberdctl.cfg 并更改 ejabberd 名称,如下所示
ERLANG_NODE=ejabberd@1.1.1.1
INET_DIST_INTERFACE=1.1.1.1
其中 1.1.1.1 是我的 EC2 实例的私有 ip,第二个 ec2 实例也是如此,但私有 ip 不同。我确保我在相同的 EC2 实例中具有相同的 .erlang.cookie。网络负载均衡器侦听端口 5280、5269、5222 和 4369 并将流量路由到 2 个实例。我通过使用开始我的第一个实例
ejabberdctl start
它工作正常,因为我可以访问 webadmin 控制台。我使用 using 在第二个实例上启动我的 ejabberd
ejabberdctl start
当我尝试使用以下命令将集群添加到实例时它运行良好
ejabberdctl --no-timeout join_cluster ejabberd@1.1.1.1
Error: {no_ping,'ejabberd@1.1.1.1'}
我知道实例看不到每个实例的对话,但我找不到或调试错误