`
cwqcwk1
  • 浏览: 86928 次
文章分类
社区版块
存档分类
最新评论

erlang在windows下和虚拟机节点通信

 
阅读更多

在Linux下部署erlang项目,开发过程很多都是在Windows完成的,然后再发布到Linux,所以测试过程要在虚拟机下完成。有一天因为想要在虚拟机中使用到erlang图形化工具,比如appmon、tv、observer等等,便突发奇想得利用Windows的erlang连接到虚拟机中使用这些工具,来查看虚拟机的运行状态。

需要准备哪些东西?

我是在VmWare10虚拟Centos6.5系统,所以这里以VmWare10和Centos6.5为例,其他Linux系统及工具只做参考。

注意了,Linux的erlang要和Windows的erlang的主版本号要保持一致,比如你在Linux下选用R15B03的erlang,在Windows下就不能用R16、R17的版本了。

这里跳过VmWare装Centos系统及erlang等软件的过程。

首先,确保Windows和虚拟机能通信。

事实上,这一步vm已经帮我们做好了。

简单的测试方法就是ping一下,Windows下获取ip的命令是ipconfig,Linux是ifconfig,获取后双方互ping一下。

如果ping不通可以考虑重装vm,建议使用比较新的版本。

这里我的Windows IP是192.168.1.100,虚拟机的ip是192.168.146.128

启动erlang节点

Windows下启动erlang节点:

erl -name win@192.168.1.100 -setcookie 123456

虚拟机启动erlang节点:

erl -name linux@192.168.146.128 -setcookie 123456


虚拟机更新防火墙:

1、查看epmd端口情况,应该可以看到erlang节点占用的端口,将这些端口加到防火墙的允许端口

netstat -apn |grep epmd

2、修改iptables

vi/etc/sysconfig/iptables

在适当的位置添加2行记录


命令仅参考,不同系统或版本可能有区别

-A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:65535 -j ACCEPT

3、重启iptables让策略生效

service iptables stop

service iptables start


Windows连接虚拟机节点:

Windows启动erlang节点后,再连接到虚拟机中的远程节点

D:\> erl –name win@192.168.1.100 –setcookie 123456
(win@192.168.1.100)1> net_kernel:connect('linux@192.168.146.128').
true
(win@192.168.1.100)2> nodes().
['linux@192.168.146.128']

说明连接成功了!


下面以appmon演示这个功能

执行appmon:start().后,在界面中选择Nodes菜单就有节点的选项。


参考:

http://blog.csdn.net/mycwq/article/details/24738599


分享到:
评论

相关推荐

    windows下安装Erlang环境

    **分布式**:Erlang节点可以在多个物理机器上运行,形成一个分布式系统,节点间通过消息进行通信。这种透明的分布式特性使得开发者无需关注底层网络细节,从而简化了分布式应用的开发。 **健壮性**:Erlang具有内置...

    erlang23.2版windows64位.zip

    7. **BEAM虚拟机**:Erlang运行在BEAM(Erlang虚拟机)上,BEAM为Erlang提供了高效的内存管理和垃圾回收。 8. **标准库**:OTP包含了大量的库和组件,如Mnesia(分布式数据库)、Riak(分布式键值存储)等,为...

    erlang节点连通测试

    Erlang是一种面向并发的、强类型、动态类型的编程语言,尤其在分布式系统领域有着广泛的应用。在Erlang中,节点(Node...理解并熟练掌握这些概念和技巧,将有助于你在构建分布式Erlang系统时实现高效、可靠的节点通信。

    erlang_win64.rar

    - **Erlang节点**:Erlang系统中的每个实例都被称为一个节点,节点间可以建立连接进行通信。 - **RabbitMQ管理界面**:一个内置的Web界面,用于监控和管理RabbitMQ服务器。 掌握这些基础知识后,你可以进一步学习...

    esl-erlang_22.0~windows_amd64.exe.7z

    Erlang是一种强大的编程语言,特别适用于并发处理和分布式计算。这个特定的文件"esl-erlang_22.0~windows_amd64.exe"是...对于在Windows环境中部署和管理Erlang服务,理解Windows服务和Erlang节点的配置也很重要。

    Erlang的高级特性和应用

    在Erlang中,程序结构由函数、模块和Beam文件组成,运行在Erlang虚拟机(VM)上。Erlang 的进程模型支持抢占式调度,通信机制基于消息传递,且有专门的监控和调试工具,如etop。 **Erlang 的系统组成** - 编译器:...

    erlang_版本24.3.4.4

    这个过程可能需要一些时间,因为它会编译整个Erlang虚拟机和标准库。编译完成后,你可以通过运行`make tests`来验证Erlang的正确性。 5. **安装**:最后,使用`make install`将编译好的Erlang二进制文件安装到你的...

    Programming Erlang

    Erlang的BEAM虚拟机允许跨节点通信,使得构建分布式系统变得相对简单和高效。 除此之外,书中还会涉及错误处理和测试策略,帮助开发者编写健壮的Erlang代码。Erlang的错误处理机制鼓励“let it crash”哲学,即快速...

    erlang编程 Introducing Erlang

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

    linux下erlang22版本和rabbitmq3.7版本

    在Linux环境下,Erlang和RabbitMQ是两个重要的组件,尤其对于消息队列系统而言。Erlang是一种通用的编程语言,以其并发性、容错性和分布式特性而闻名,而RabbitMQ则是基于Erlang构建的一个开源消息代理,用于处理...

    erlang深度分析.pdf

    热部署(hot code replacement)是Erlang的一大特色,使得在不停机的情况下更新系统成为可能。这对于维护和升级大规模运行的应用系统尤其重要。 #### 12. IO和并发 Erlang的IO系统与其它语言相比设计得非常适合并发...

    Erlang深度分析

    在Erlang的分布式环境中,节点之间的通信是透明的,开发者可以将Erlang程序部署在不同的物理或虚拟机上,并且它们可以相互通信,就像在同一台机器上一样。 ##### 1.2 Erlang Distributed Application Erlang的...

    Erlang_otp_win64_24.0.zip

    “分布式”则体现了Erlang在构建分布式系统上的优势,它的节点间通信机制使得在多个计算资源上部署和协调任务变得简单。 在“压缩包子文件的文件名称列表”中,我们只看到了“erllang_otp_win64_24”,这很可能是...

    Erlang_CNode用户指

    CNode是Erlang生态系统中的一个重要组件,它允许Erlang虚拟机(VM)与用其他语言(如C)编写的程序进行交互。CNode提供了一种方式,使得开发者可以利用Erlang的并发特性和强大错误处理能力,同时利用C语言的高效性能...

    erlang win64_18.1

    Erlang/OTP(Open Telecom Platform)是Erlang编程环境的基础,它包括了Erlang虚拟机(BEAM)、标准库和一系列强大的工具,如模块编译器、调试器、性能监视器等。OTP提供了一套设计模式和库,帮助开发者构建可靠、...

    erlang高级原理和应用PPT

    2. **分布式特性**:Erlang的分布式节点通信,分布式数据管理,以及如何在多台机器上部署和运行Erlang应用。 3. **故障恢复与容错**:Erlang的错误处理模式,如监控树(supervision trees)和故障检测,以及如何...

    Erlang otp_win64_21.2.exe

    2. **分布式**:Erlang OTP支持跨节点通信,允许在不同机器上运行的Erlang虚拟机(VM)之间透明地交互,构建分布式系统。 3. **容错**:Erlang OTP通过“软实时”系统实现高可用性,它允许错误发生并提供恢复机制,...

    RabbitMQ3.9.13和ErLang24.2版本

    1. **高可用性**:RabbitMQ 3.9.13在集群模式下提供高可用性,通过镜像队列和网络分区处理策略,保证了即使在节点故障时也能持续服务。此外,该版本还优化了故障切换过程,减少了服务中断时间。 2. **性能提升**:...

    Erlang游戏程序学习完整PDF手册

    - **分布式Erlang**:讲解如何在多台机器上部署和管理Erlang系统,以及跨节点通信。 - **错误处理和调试**:讨论Erlang的错误处理策略、异常处理和调试工具。 - ** OTP(开放电信平台)**:OTP是Erlang的标准库,...

    Erlang 环境 opt_win64_21.1版本

    otp_win64_21.1.exe是OTP在Windows 64位系统的特定版本,包含了运行Erlang应用程序所需的全部组件,如Erlang虚拟机、标准库和工具集。 RabbitMQ是一款广泛使用的开源消息代理和队列服务器,它基于AMQP(Advanced ...

Global site tag (gtag.js) - Google Analytics