[Erlang 0123] Erlang EPMD
epmd进程和Erlang节点进程如影随形,在Rabbitmq集群,Ejabberd集群,Couchbase集群产品文档中都会有相当多的内容讲epmd,epmd是什么呢?[root@nimbus data2]# epmd -names
epmd: up and running on port with data:
name ns_1 at port
name babysitter_of_ns_1 at port
name ligaoren at port
[root@nimbus data2]# erl -name test@nimbus -setcookie
[root@nimbus ~]# epmd -names
epmd: up and running on port with data:
name test at port
name ns_1 at port
name babysitter_of_ns_1 at port
name ligaoren at port


ERL_EPMD_ADDRESS=127.0.0.1 epmd -daemon
epmd -address IPList
erl ... -kernel inet_dist_use_interface "{127,0,0,1}"
erl -sname abc -kernel inet_dist_listen_min inet_dist_listen_max
erl -sname node1 -kernel inet_dist_listen_min inet_dist_listen_max
erl -sname node2 -kernel inet_dist_listen_min inet_dist_listen_max
erl -sname node3 -kernel inet_dist_listen_min inet_dist_listen_max
erl -sname node4 -kernel inet_dist_listen_min inet_dist_listen_max
erl -sname node5 -kernel inet_dist_listen_min inet_dist_listen_max
epmd: up and running on port with data:
name node5 at port
name node4 at port
name node3 at port
name node2 at port
name node1 at port
name abc at port
erl -sname node6 -kernel inet_dist_listen_min inet_dist_listen_max
{error_logger,{{,,},{,,}},"Protocol: ~tp: register/listen error: ~tp~
n",["inet_tcp",eaddrinuse]}
{error_logger,{{,,},{,,}},crash_report,[[{initial_call,{net_kernel,in
it,['Argument__1']}},{pid,<0.20.>},{registered_name,[]},{error_info,{exit,{erro
r,badarg},[{gen_server,init_it,,[{file,"gen_server.erl"},{line,}]},{proc_lib
,init_p_do_apply,,[{file,"proc_lib.erl"},{line,}]}]}},{ancestors,[net_sup,ke
rnel_sup,<0.10.>]},{messages,[]},{links,[<0.17.>]},{dictionary,[{longnames,fal
se}]},{trap_exit,true},{status,running},{heap_size,},{stack_size,},{reducti
ons,}],[]]}
application:set_env(kernel, inet_dist_listen_min, ).
application:set_env(kernel, inet_dist_listen_max, ).
{ kernel, [
{inet_dist_listen_min, },
{inet_dist_listen_max, }
]}
ERL_EPMD_ADDRESS=127.0.0.1 ERL_EPMD_PORT= epmd -daemon
epmd -port -names
调试状态看细节
[root@Slave4 ~]#
[root@Slave4 ~]# epmd -d
epmd: Thu Jul :: : epmd running - daemon =
epmd: Thu Jul :: : ** got ALIVE2_REQ
epmd: Thu Jul :: : registering 'abc:2', port
epmd: Thu Jul :: : type proto highvsn lowvsn
epmd: Thu Jul :: : ** sent ALIVE2_RESP for "abc"
epmd: Thu Jul :: : ** got ALIVE2_REQ
epmd: Thu Jul :: : registering 'xyz:2', port
epmd: Thu Jul :: : type proto highvsn lowvsn
epmd: Thu Jul :: : ** sent ALIVE2_RESP for "xyz"
epmd: Thu Jul :: : ** got ALIVE2_REQ
epmd: Thu Jul :: : node name already occupied abc
epmd: Thu Jul :: : ** sent ALIVE2_RESP for "abc"
epmd: Thu Jul :: : trying to unregister node with unknown file descriptor
epmd: Thu Jul :: : ** got ALIVE2_REQ
epmd: Thu Jul :: : registering 'test:1', port
epmd: Thu Jul :: : type proto highvsn lowvsn
epmd: Thu Jul :: : ** sent ALIVE2_RESP for "test"
epmd: Thu Jul :: : ** got PORT2_REQ
epmd: Thu Jul :: : ** sent PORT2_RESP (ok) for "test"
epmd: Thu Jul :: : unregistering 'xyz:2', port
epmd: Thu Jul :: : unregistering 'test:1', port

[Erlang 0123] Erlang EPMD的更多相关文章
- Erlang 103 Erlang分布式编程
Outline 笔记系列 Erlang环境和顺序编程Erlang并发编程Erlang分布式编程YawsErlang/OTP 日期 变更说明 2014-11-23 A Outl ...
- [Erlang 0129] Erlang 杂记 VI
把之前阅读资料的时候记下的东西,整理了一下. Adding special-purpose processor support to the Erlang VM P23 简单介绍了Erlang C ...
- [Erlang 0124] Erlang Unicode 两三事 - 补遗
最近看了Erlang User Conference 2013上patrik分享的BRING UNICODE TO ERLANG!视频,这个分享很好的梳理了Erlang Unicode相关的问题,基本 ...
- [Erlang 0122] Erlang Resources 2014年1月~6月资讯合集
虽然忙,有些事还是要抽时间做; Erlang Resources 小站 2014年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
- [Erlang 0105] Erlang Resources 小站 2013年1月~6月资讯合集
很多事情要做,一件一件来; Erlang Resources 小站 2013年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
- [Erlang 0057] Erlang 排错利器: Erlang Crash Dump Viewer
http://www.cnblogs.com/me-sa/archive/2012/04/28/2475556.html Erlang Crash Dump Viewer真的是排错的天兵神器,还记得我 ...
- [Erlang 0119] Erlang OTP 源码阅读指引
上周Erlang讨论群里面提到lists的++实现,争论大多基于猜测,其实打开代码看一下就都明了.贴出代码截图后有同学问这代码是哪里找的? "代码去哪里找?",关于Erla ...
- [Erlang 0118] Erlang 杂记 V
我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下. 做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...
- [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集
Erlang Resources 小站 2013年7月~12月资讯合集,方便检索. 附 2013上半年盘点: Erlang Resources 小站 2013年1月~6月资讯合集 小站地 ...
随机推荐
- SSH框架整合(代码加文字解释)
一.创建数据库并设置编码. A) create database oa default character set utf8. 二.MyEclipse工程 A) 在Myeclipse里创建web工程, ...
- JavaScript随笔4
(1) 表单:向服务器提交数据 action: 提交到哪里 表单事件: onsubmit: 提交时发生 onreset: 重置时发生(2) 运动框架: 1.在开始运动时.关闭已有定时器 2.把运动和停 ...
- 06. Web大前端时代之:HTML5+CSS3入门系列~HTML5 画布
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 我们先看看画布的魅力: 初始画布 canvas默认是宽3 ...
- JSON.parse 与 eval() 对于解析json的问题
1.eval()与JSOn.parse的不同 eval() var c = 1; //全局变量 var jsonstr1 = '{"name":"a",&quo ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立
系列目录 工作流在实际应用中还是比较广泛,网络中存在很多工作流的图形化插件,可以做到拉拽的工作流设计,非常简便,再配合第三方编辑器,可以直接生成表单,我没有刻意的浏览很多工作流的实际设计,我认为工作流 ...
- Linux下的磁盘分割和文件系统
一.各硬件装置在Linux下的文件名 1.IDE硬盘机 在Linux内的文件名: /dev/hd[a-d] (a-d 刚好是四个这个是有原因的具体如下) 解释:以 IDE 接口来说,由于一个 IDE ...
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
- Android5.0以下出现NoClassDefFoundError
事发起因 大周末的,突然接到老大的电话说很多用户无法安装新上线的APK,让我紧急Fix(现Android项目就我一己之力).但奇怪的是也没有Bug Reporter,而且开发过程中也一直没问题.根据上 ...
- Ajax接收不到PHP return后的结果的原因
PHP在处理ajax返回值的时候,如果使用return如 return $result会失败,echo $result却没问题. 解释原因如下: 1.ajax请求从服务器端读取返回值,而且这些返回值必 ...
- Java进击C#——应用开发之WinForm环境
本章简言 上一章笔者讲到关于IO文件操作类,了解如何处理文件流.从这一章开始笔者将讲解相对比较高级的知识点.而本章笔者就对WinForm开发的知识点进行讲解和引导.现在很多业务都是面向于B/S模式的开 ...