`
zhangzhiqiangss
  • 浏览: 10939 次
社区版块
存档分类
最新评论

erlang 的分布式编程

 
阅读更多

分布式可以看做是连接紧密的并行处理器
均衡负载,在任务规模较小的时候,可以通过随机或轮询的方式分派任务,任务较大时,可以使用主从模式,在请求时分派任务.
并发性事分布式系统的核心,分布式系统的挑战是在错误发生时系统的健壮性

epmd进程
        epmd的命令是erlang运行时系统的一部分,它为erlang分布式的节点扮演端口映射看守程序的角色.,
     Epmd是Erlang Port Mapper Daemon的缩写,在Erlang集群中相当于dns的作用,供给节点名称到端口的查询办事,epmd绑定在总所周知的4369端口上。 
         启动新的网络节点时,Erlang使用epmd (Erlang端口号对应管理系统) 指派端口号,提供节点使用。 
Erlang nodes是如何找到对方并通信? 
负责Erlang节点间通信的是一个叫作epmd(Erlang Port Mapper Daemon)的后台线程。如下: 

引用
$ ps ax | grep epmd 
  305   ??  S      0:00.02 /opt/local/lib/erlang/erts-5.8.2/bin/epmd -daemon 
  513 s003  U+     0:00.00 grep epmd 


当启动一个node时,node会检查本机是否有epmd在运行,如果没有则启动epmdepmd启动之后会跟踪记录所有本机运行的node和这些node被分配的端口号。 
当一个在本机的node想和远程的node通信时,本地的epmd首先会和远程的epmd通信(默认在4369端口上使用TCP/IP),询问是否有相应的node在那里运行。如果有,则远程的epmd会响应请求,并直接和本地的epmd通信。 
但是epmd不会自动去寻找其他的epmd,这些通信和寻找过程必须被node的查找操作触发。  
 

        无论多少分布式节点运行在它的上面,每台机器都只会启动一个epmd进程,该看守进程会监听来自4369的所有连接的请求并把它们映射到被接节点的监听端口,,如果还没开始运行,当你启动第一个分布式的erlang节点时,epmd会自动运行.
        也可以手动开启,并传入一些命令和设置参数. ,

 

 关于linux主机名:

[root@localhost ~]#
分别代表用户名(root),主机名(localhost),当前路径(~,当前用户的home目录),权限标志位(#代表root,$代表普通用户)

有时候是[rooot@bogn ~]# bogon直译过来就是匿名人嘛,说明你的机器没办法把你局域网内的主机名解析成相对应的IP地址

linux主机名变为bogon的解决方法

一:使用hostname命令
[root@test ~]# hostname yourname
   这样只是临时更改了主机名。
二:修改linux主机的配置文件/etc/sysconfig/network 和 /etc/hosts
1.修改/etc/sysconfig/network里面的主机名字。
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=yourname                //在这修改hostname
GATEWAY=192.168.1.1
2.修改/etc/hosts里面的名字
# vi /etc/hosts
127.0.0.1              localhost.localdomain localhost
192.168.1.121          yourname //在这修改hostname
//有时候只有这一行
127.0.0.1              yourname localhost.localdomain localhost
3.让更改的名字在不重启机器下生效
# hostname yourname           
# su 

分享到:
评论

相关推荐

    编写分布式的Erlang程序_陷阱和对策(中文版)

    阅读此书将有助于深化对Erlang分布式编程的理解,避免常见的错误,提升编写高质量Erlang程序的能力。同时,"打开方式.htm"可能是阅读资料的指南,而"爱书吧-全国最大图书-课件免费下载.url"则可能指向更多相关的学习...

    Erlang并发编程,Erlang程序设计,Erlang中文手册

    Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。  Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此...

    erlang并发编程 .pdf

    在《Erlang并发编程》一书中,详细介绍了Erlang语言的核心并发模型和编程范式,包括但不限于串行编程、进程创建、进程间通信、分布式编程以及错误处理等。书中指出Erlang的并发性能得益于其轻量级进程,这些进程是由...

    面向对象的分布式脚本编程语言Reia.zip

    如果你既想要erlang的并发分布式编程的理念又不喜欢erlang丑陋的停留在80年代的那种语法,又想要现代的性感的漂亮的时尚的Ruby/Python式的面向对象观而不满意其并发模型,那么,可以尝试Reia. 标签:Reia

    Erlang编程

    Erlang的设计哲学是创建简单、可扩展、容错的程序,其语法规则相对简单明了,非常适合并行编程和分布式计算。 #### 书籍推荐 《Erlang编程:软件为并发世界而设计》是Joe Armstrong所著的入门级Erlang书籍。作者在...

    Erlang分布式节点中的注册进程使用实例

    在使用Erlang进行分布式编程时,管理节点的连接状态是非常重要的。可以使用`nodes()`函数来查看当前节点已连接的所有节点。在两个节点首次成功通信后,它们会相互保持连接状态,允许继续进行消息的交换。Erlang系统...

    Erlang编程指南

    “即便我已经使用Erlang多年,在编程的时候仍然需要参考《Erlang编程指南》。不同层次的Erlang程序员都会发现本书是有价值的学习和参考资料。”, ——Steve Vinoski,《IEEE Internet Computing》专栏作家, 《Erlang...

    erlang并发编程

    7. OTP(Open Telecom Platform):OTP是Erlang的标准库,提供了一系列的设计模式和库,包括进程、监督树、应用管理和错误处理等,极大地简化了并发和分布式编程。 8. 监督树(Supervision Trees):OTP中的监督树...

    编写分布式的Erlang程序:陷阱和对策

    这里提到的陷阱主要指的是在开发分布式Erlang程序时可能会遇到的问题,这些问题往往由于开发者对Erlang分布式的某些特性的理解不足而产生。以下是一些具体的陷阱: 1. **消息传递的顺序性**:虽然Erlang提供了消息...

    图书:Erlang编程

    《Erlang编程》是一本深入探讨Erlang语言的图书,主要面向对并发处理、分布式系统和高可用性有需求的开发者。Erlang是一种为构建大规模并发系统而设计的函数式编程语言,它源自爱立信,以其在电信行业的成功应用而...

    Erlang编程规则——中文翻译版本

    Erlang是一种高级编程语言,专为构建并发、分布式、容错的系统设计。Erlang语言的编程规则和约定对于保证代码的可读性、可维护性、性能和稳定性至关重要。本文将对Erlang编程规则的中文翻译版本中的部分内容进行详细...

    erlang并发编程中文翻译(cpie-cn).zip

    Erlang是一种面向并发的、函数式编程语言,最初由爱立信开发,用于构建高可用性、容错性和可扩展性的分布式系统。在Erlang中,并发是语言的核心特性,它提供了一种高效且简洁的方式来处理大量并发任务。 并发编程在...

    erlang编程 Introducing Erlang

    Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心...

    Erlang程序设计

    本书是讲述下一代编程语言Erlang 的权威著作,主要涵盖顺序型编程、异常处理、编译和运行代码、并发编程、并发编程中的错误处理、分布式编程、多核编程等内容。本书将帮助读者在消息传递的基础上构建分布式的并发...

    Erlang脚本及其在分布式系统中的应用

    Erlang是一种专为构建可扩展、并发和分布式系统而设计的编程语言。它最初由爱立信公司开发,用于电信领域的软件开发。Erlang的设计理念包括轻量级进程、消息传递、容错性和分布式计算,这些特性使得Erlang非常适合...

    分布式应用Erlang:Erlang_OTP_19_win64

    Erlang是一种强大的、动态类型的函数式编程语言,特别适合构建高可用性、容错性和可扩展性的分布式系统。OTP则是Erlang生态系统的核心组成部分,提供了大量的库和设计模式,旨在简化并发、错误处理和系统管理。 ...

    Erlang编程中文学习手册.pdf

    随着学习的深入,学习者还将接触到模块化编程、高级并发概念、分布式编程、代码维护和优化等更高级的内容。 Erlang编程语言因其独特的并发模型和消息传递机制而备受关注,它被广泛用于电信、银行、电子商务等需要高...

    ErlangOTP并发编程实战(高清PDF版)

    书是讲述下一代编程语言Erlang 的权威著作,主要涵盖顺序型编程、异常处理、编译和运行代码、并发编程、并发编程中的错误处理、分布式编程、多核编程等内容。本书将帮助读者在消息传递的基础上构建分布式的并发系统...

Global site tag (gtag.js) - Google Analytics