作者:Eosven_119 | 来源:互联网 | 2023-07-09 11:28
今天发现一个问题,2个erlang节点,1个主动ping另外一个不通,然后等待另外一个ping过来,2个节点才连通。记录一下。首先,erlang节点的cookie是一致的。查了文档,cookie一
今天发现一个问题,2个erlang节点,1个主动ping另外一个不通,然后等待另外一个ping过来,2个节点才连通。记录一下。
首先,erlang节点的COOKIE是一致的。查了文档,COOKIE一致就可以连通的。
其次,跟用户权限没关系,超级用户跟普通用户是一样的。
后来google了一番,发现了几个相同的情况:
Erlang client cannot ping server until server has pinged client
Erlang. Fix run multiple copies of epmd
Erlang: one of two nodes is not ping in first time, after ping from second node, ping starts to work on both nodes
Erlang节点互联失败原因分析以及解决方案
根据上面的博文,总结了一下,erlang节点连通,COOKIE要一致,erlang的版本最好也相同,epmd的4369端口要放行。
我查看了一下,这些条件都没有问题,但就是有1个主动ping不通,想了很久,考虑还是防火墙的问题。
在阿里云的服务器上,使用的linux版本是centos,使用system-config-firewall-tui管理防火墙。使用的节点名称是阿里云的内网ip,为了节省流量和快速。所以我猜想,可能是因为网卡的问题。后来把所有的网卡都信任了才解决这个问题。
勾选了所有的网卡后,所有的主动ping都连通了,问题解决。