当在本地机器上启动erlang时,我可以进行
erl -name testnode
这将启动一个erlang节点,该节点具有我的机器的完全限定主机名
~ erl -name test
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
(test@laptop.hanahaus.com)1>
当我在AWS上做同样的事情时,我会得到
({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}}
我错过了什么?
如果Erlang节点名称中不需要完全限定的主机名,可以使用-sname
而不是-name
:
erl -sname testnode
(需要明确的是,Erlang节点似乎由于某种原因无法确定其FQDN,使用-sname
而不是-name
可以通过消除对FQDN的需求来解决这个问题。)
这不是fqdn问题。这是网络问题。禁用防火墙并尝试重新启动。