在 aws EC2 linux ami 上集群 ejabberd
clustering ejabberd on aws EC2 linux ami
我目前正在尝试使用 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 不同。我确保相同的 .erlang.cookie in same EC2 instances 。网络负载均衡器侦听端口 5280、5269、5222 和 4369 并将流量路由到 2 个实例。我使用
开始我的第一个实例
ejabberdctl start
它工作正常,因为我可以访问网络管理控制台。我使用 using
在第二个实例中启动我的 ejabberd
ejabberdctl start
当我尝试使用以下命令将集群添加到实例时它运行良好
ejabberdctl --no-timeout join_cluster ejabberd@1.1.1.1
Error: {no_ping,'ejabberd@1.1.1.1'}
我知道实例看不到每个实例的对话,但我无法找到或调试错误
看看那些手册提示。尝试一下,也许其中之一可以为您提供有关设置问题的一些线索。例如,您可以看到如何检查两个节点是否使用相同的 cookie 字符串(只是为了确保它们读取了正确的文件)。您也可以尝试手动从一个 erlang 节点 ping 到另一个...
我目前正在尝试使用 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 不同。我确保相同的 .erlang.cookie in same EC2 instances 。网络负载均衡器侦听端口 5280、5269、5222 和 4369 并将流量路由到 2 个实例。我使用
开始我的第一个实例ejabberdctl start
它工作正常,因为我可以访问网络管理控制台。我使用 using
在第二个实例中启动我的 ejabberdejabberdctl start
当我尝试使用以下命令将集群添加到实例时它运行良好
ejabberdctl --no-timeout join_cluster ejabberd@1.1.1.1
Error: {no_ping,'ejabberd@1.1.1.1'}
我知道实例看不到每个实例的对话,但我无法找到或调试错误
看看那些手册提示。尝试一下,也许其中之一可以为您提供有关设置问题的一些线索。例如,您可以看到如何检查两个节点是否使用相同的 cookie 字符串(只是为了确保它们读取了正确的文件)。您也可以尝试手动从一个 erlang 节点 ping 到另一个...