解决erlang节点启动失败报"inet_tcp",econnrefused的问题

今天有同事说他机器上的leofs启动不了。我用console起了一下,发现报如下错:

{error_logger,{{2015,11,3},{6,23,6}},"Protocol: ~tp: register/listen error: ~tp~n",["inet_tcp",econnrefused]}
{error_logger,{{2015,11,3},{6,23,6}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.601.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,322}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}},{ancestors,[net_sup,kernel_sup,<0.591.0>]},{messages,[]},{links,[#Port<0.1236>,<0.598.0>]},{dictionary,[{longnames,true}]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,27},{reductions,774}],[]]}
{error_logger,{{2015,11,3},{6,23,6}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[,longnames]]}},{restart_type,permanent},{shutdown,2},{child_type,worker}]}]}
{error_logger,{{2015,11,3},{6,23,6}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
...
怀疑是EPMD有问题。尝试erl,可以正常启动;尝试erl -name ,报类似的错误。

尝试epmd -debug,得到如下信息:

epmd: Tue Nov 3 09:00:04 2015: epmd running - daemon = 0
epmd: Tue Nov 3 09:00:04 2015: there is already a epmd running at port 4369
尝试ps axu grep epmd,没有发现进程:

root 16308 0.0 0.0 112640 976 pts/6 S+ 09:00 0:00 grep --color=auto epmd
尝试lsof -i:4369,发现如下进程占用了4369端口:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker 25840 root 4u IPv4 80940 0t0 TCP registry.xxxxxx.com:epmd (LISTEN)
杀掉该进程后,恢复正常。确定了问题是EPMD的默认端口号被其它进程占用导致。解决方案:可以在启动EPMD时指定其端口号,也可以设置环境变量ERL_EPMD_PORT来指定其端口号。但是这样治标不治本,合理的做法还是规划好服务器上要启动的服务及其需要使用的端口号,避免冲突。

关于EPMD的介绍和使用,可以看这里: http://www.erlang.org/doc/man/epmd.html

更多相关文章
  • 开源监控利器nagios实战 作者:田逸([email protected]) from: http://net.it168.com/a2009/0309/267/000000267878.shtml 俗话说:工欲善其事,必先利其器.要做好系统管理,使自己的工作更轻松更有效的话,一个好的监控工具是必不可少的了 ...
  • 现在个人隐私和个人信息的保护越来越受到人们的关注,我们也越来越留心防止个人信息和隐私的泄露.但是在如今这个网络越来越便捷的时代,我们在享受到方便服务的同时,也承担着越来越严重的风险,甚至是一个邮箱也可以出卖你的真实身份给犯罪份子有机可乘. 用搜索引擎通过邮箱检索个人信息或者通过某些不正规公司购买个人 ...
  • [python]  int(x [,base ])         将x转换为一个整数     long(x [,base ])        将x转换为一个长整数     float(x )               将x转换到一个浮点数     complex(real [,imag ])   ...
  • javascript有两种定显示器, setTimeout和setInterval,下面简要介绍两个函数然后附上简单的例子. setTimeout(function, time) , 当定位到time间隔则执行function函数,执行一次就不再执行 clearTimeout(t), 结束setTi ...
  •  通过微信盗取银行存款早已不是个例,窃贼是如何绕过支付密码利用微信支付平台转走银行钱款?受害者曾经一度忽略的提醒和出现的异常又代表窃贼如何行窃?让我们看看近日水木社区出现的一则热贴:关于一个博士生"微信钱财被盗连载". 绕过支付密码盗取微信存款 受害者在微信上绑定了银行卡(余额2 ...
  • Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environment(JRE)和JVM(Java运行时环境).它能让你在自己的电脑上编译.运行.测试你的Java程序 ...
一周排行
  • 钟辉平静之下暗潮涌动.央行以安全性为由暂停二维码支付一个多月后,真相开始浮出水面."现在监管层不表态,也不讨论(二维码支付)这个业务形态的安全性到底如何."一位财付通相关负责人向21世纪经济报道表 ...
  • 最近突然对spark的spark-shell发生了兴趣 它是如何启动scala的REPL的,并且在此前写入了常用的环境变量的呢? 通过查看spark的源码,找到了SparkILoop.scala import sca ...
  • 参考文章:http://www.51testing.com/?uid-145985-action-spacelist-type-blog-itemtypeid-11954 在给Loadrunner添加Linux的时候 ...
  • <!DOCTYPE html><html><head><style> div{width:350px;height:100px;border:1px solid bla ...
  • 目前有一个需求,就是Flume可以作为一个类似于tomcat的服务器,可以通过post请求进行访问,并且路径需要:ip:port/contextPath格式. 经过一些资料获悉,httpSource只是httpSou ...
  • 1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析. 2.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.请附code ...
  • 有花飘落,悄然失色. 纵然如此,命运在碧蓝的眼底却投不下一丝阴影,飞舞落花掠过浅淡坦然的微笑.手中念珠撞击出一串梵音.“双生菩提树的花,已散落下来了吗?”撼动天地的轰鸣在沙罗双树园响起,曾是那样完美无缺轮转的世界裂成 ...
  • 博客已搬家,请访问文章新址,谢谢浏览- http://iflycn.blog.163.com/blog/static/134932753201011223219656/ 本文出自 "想飞 iflycn&qu ...
  •     MongDB的MapReduce相当于MySQL中的“group by”,所以在MongoDB上使用Map/Reduce进行并行“统计”很容易.     使用MapReduce要实现两个函数Map函数和Red ...
  • 此文为一家之言,如有错误和不足欢迎同道中人前来指正,不喜勿喷,小生面薄,谢谢! PS:其实这是写给我自己看的. 一 关于UIButton 不能点击的问题 1.查看其父视图(UIImageView,UIVIew等)的u ...