erlang节点互相ping,一个能ping通,另外一个不行。

今天发现一个问题,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都连通了,问题解决。

时间: 2024-10-25 19:10:08

erlang节点互相ping,一个能ping通,另外一个不行。的相关文章

erlang分布式入门(一)-ping pong

erlang分布式入门(一)-ping pong 测试环境和http://willvvv.iteye.com/blog/1523918 一样,192.168.0.182(centos-182)和192.168.0.183(centos-183), 1.按照上面链接(步骤1-4)设置通过ssh hostname 免输入密码直接登录. 2.设置erlang的magiccookie,由于都是以root账号操作,分别在两台机子上执行以下命令 cd /root vi .erlang.cookie 输入 S

ping 命令检索ping成功的数据包

脚本过滤ping通IP的数据包 1.问题描述:由于网络不稳定,导致业务系统中无法正常运行,经常有丢包的现象 2.需求:编写一个脚本,通过ping 命令发送一定数量的数据包,检索出成功与丢失的数据包的数量,来判断网络是否符合要求 3.思路:1)整个业务系统有多个IP,用fou 循环,用以取到不同的IP 2)对取到的IP进行ping ,过滤平通的包,对结果进行判断 并返回相应的值 3)每隔多长时间循环一次 sleep ,因此用到while循环 ,循环条件永远为真 4.编写脚本如下 脚本描述:对每个I

erlang节点互通查看

在局域网内部,一般用短节点名来完成短节点的全联通.     全联通的前提之一是cookie要相同,cookie记录在一个文件中.     对于同一个物理机上的两个erlang节点,不用其他配置就可以全联通.     对于不在同一个物理机上的erlang节点,需要配置cookie才行.     在其中一台物理机的命令行上执行erl  -sname [email protected],在另一台物理机的shell上执行erl -sname [email protected]      分别在shell

防火墙禁ping:虚拟机ping不通主机,但主机可以ping虚拟机

现象:刚装的centos6.6,配置好网络却发现ping不通主机,主机却ping通虚拟机: 解决方法: 1.最简单的方法就是:关闭防火墙.但一直关闭防火墙也不是个办法,会遇到很多安全问题,建议下一个方案: 2.Windows的防火墙有个:ICMPv4-in这个规则,这个才是主要出问题的地方.只要找到这个开启,就不会被禁ping了: 打开方法: 1. 打开windo防火墙: 2. 选择高级设置: 3.入站规则: 4. 找到“公用”的“文件和打印共享(回显请求 – ICMPv4-In)”规则,右击启

Linux禁止ping以及开启ping的方法

Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping. 具体的配置方法如下: A.内核参数设置 1.允许PING设置 A.临时允许PING操作的命令为:#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all B.永久允许PING配置方法. /etc/sysctl.conf 中增加一行            net.ipv4.ic

记一次erlang 节点CPU严重波动排查过程

新服务上线后观察到,CPU在10 ~ 70%间波动严重,但从每秒业务计数器看业务处理速度很平均. 接下来是排查步骤: 1. dstat -tam 大概每10s一个周期,网络流量开始变得很小,随后突然增大,CPU也激增. 网络流量变化和从性能计数器结果上并不符合,服务相关业务较为复杂,先找出那个业务占用网络流量. 2. iftop 找出流量最大的几个目标IP,并且周期的流量变为0随后激增. 通过IP 知道是外部http接口地址,因为接口调用是异步进行的,性能计算是执行开始记录的,而不是结束记录,因

Linux服务器禁ping与开启ping

修改 /proc/sys/net/ipv4/icmp_echo_ignore_all   内容为 1 禁止ping  内容为0 开启ping. sysctl -w net.ipv4.icmp_echo_ignore_all=1    这条命令的效果同上 如图: 还有另外一种使用iptables进制ping. iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP   ping 命令工作的是 发送一个ICMP请求报文交给目的IP,然后目的IP回

Linux禁止ping和开启ping的方法

Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping. 一.通过修改配置文件实现: 具体的配置方法如下: 1.设置临时允许或禁止ping: 1).临时允许ping的命令为: #echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all 2).临时j禁止ping的命令为: #echo 1 >/proc/sys/net/ipv4/icm

CentOS下禁止ping和允许ping的方法

一.系统禁止ping [[email protected]黑客联盟~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 二.系统允许ping [[email protected]黑客联盟 ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all 此上两条命令的效果实时生效,可以用另外的机器ping来测试是否生效. ———————————————————————————————————- /etc/r