erlang節點互相ping,一個能ping通,另一個不行。

今天發現一個問題,2個erlang節點,1個主動ping另一個不通,而後等待另一個ping過來,2個節點才連通。記錄一下。node

首先,erlang節點的cookie是一致的。查了文檔,cookie一致就能夠連通的。linux

其次,跟用戶權限不要緊,超級用戶跟普通用戶是同樣的。shell

後來google了一番,發現了幾個相同的狀況:centos

Erlang client cannot ping server until server has pinged client服務器

Erlang. Fix run multiple copies of epmdcookie

Erlang: one of two nodes is not ping in first time, after ping from second node, ping starts to work on both nodesui

Erlang節點互聯失敗緣由分析以及解決方案google

根據上面的博文,總結了一下,erlang節點連通,cookie要一致,erlang的版本最好也相同,epmd的4369端口要放行。阿里雲

我查看了一下,這些條件都沒有問題,但就是有1個主動ping不通,想了好久,考慮仍是防火牆的問題。命令行

在阿里雲的服務器上,使用的linux版本是centos,使用system-config-firewall-tui管理防火牆。使用的節點名稱是阿里雲的內網ip,爲了節省流量和快速。因此我猜測,多是由於網卡的問題。後來把全部的網卡都信任了才解決這個問題。

經過ifconfig或者ip命令行得到全部有效的網卡接口名稱:

$ifconfig
或者
$ip a

通常都是eth0,eth1,而後在trusted interfaces 添加eth+ 接口。eth+應該是正則匹配全部的eth網卡接口名稱。

最後勾選全部的網卡接口名稱。

勾選了全部的網卡後,全部的主動ping都連通了,問題解決。

相關文章
相關標籤/搜索