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 [email protected] -setcookie 123456

虚拟机启动erlang节点:

erl -name [email protected] -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 [email protected] –setcookie 123456
([email protected])1> net_kernel:connect(‘[email protected]‘).
true
([email protected])2> nodes().
[‘[email protected]‘]

说明连接成功了!

下面以appmon演示这个功能

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

参考:

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

erlang在windows下和虚拟机节点通信,布布扣,bubuko.com

时间: 2024-11-02 09:54:58

erlang在windows下和虚拟机节点通信的相关文章

SPARK如何使用AKKA实现进程、节点通信

SPARK如何使用AKKA实现进程.节点通信 <深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析>一书第一章的内容请看链接<第1章 环境准备> <深入理解Spark:核心思想与源码分析>一书第二章的内容请看链接<第2章 SPARK设计理念与基本架构> <深入理解Spark:核心思想与源码分析>一书第三章第一部分

Erlang与C构建的节点通讯

Erlang节点之间的通讯,主要用于两个Erlang节点之间的通讯,但Erlang还支持与java构建的节点通讯,甚至与c构建的节点通讯,前面两种方式在我以前的文章都有讲到,所以这里讲Erlang与c构建的节点通讯. Cnode与erl_interface 想用C构建一个erlang节点,要利用Erlang的erl_interface接口来实现.c建立的节点,叫CNode ,其中,erl_interface除了实现一些基本的节点连接,消息发送接收,还实现Erlang Term 的构建解析. CN

宿主机Windows访问虚拟机Linux文件(二)

上一篇文章中详细讲述FTP服务(基于文件传输协议的服务),本文则介绍另一种能够实现此功能Telnet(Telecommunications network 远程登陆)服务.本文介绍的telnet我常用来在windows下熟悉Linux指令,只需要使用其远程登陆Ubuntu即可,方便实用. 说明:本文不再赘述前文中已经重复指明的内容. 一.虚拟机Ubuntu开启Telnet服务 1)在终端中输入命令:$ sudo apt-get install xinetd telnetd,安装完成xinetd和

Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机

准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS X hosts 下载并安装VirtualBox Extension Pack在步骤1的页面点击VirtualBox <版本> Oracle VM VirtualBox Extension Pack右侧的链接进行下载. 下载Windows XP镜像(请自行搜索^^) 在VirtualBox中安装W

如何创建windows xp 虚拟机

     如何创建windows xp 虚拟机 一.所需软件 1. VMware-workstation-full-12.0.0-2985596 赠送vm12 激活key一枚: 5A02H-AU243-TZJ49-GTC7K-3C61N 2. 需要windows xp 的镜像 Xp秘钥    MRX3F-47B9T-2487J-KWKMF-RPWBY 二.步骤 1. 打开虚拟机,点击文件,新建虚拟机 2. 三. 下一步就是开机安装xp系统了,开机就不用管了,全自动的奥

XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相)

XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相) 2014-08-20 20:28 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 在安装XE6 PAServer前,我们先解决Windows和虚拟机下Mac的文件共享问题,由于虚拟机和我们安装的XE6是同一台电脑,所以此问题很好解决.网上相传有很多的共享大法,但是在WIN7这种权限管制得过份的系统下显得相对复杂了,

Deskpool安装之:准备Windows 7虚拟机基础镜像

Deskpool虚拟桌面管理系统在配置过程中,需要导入虚拟机镜像,然后将镜像制作成一个虚拟桌面模板.被导入的虚拟机需要满足如下条件,才能保证成功制作成模板. 1.安装虚拟化平台的驱动(XenServer平台是Xen Tools,Hyper-V平台是Hyper-V集成服务) 2.被导入的虚拟机需要启用管理员(Administrator)帐户. 3.被导入的虚拟机需要开启 RDP 服务. 4.被导入的虚拟机需要开启文件共享服务. 5.RDP服务和文件共享服务的防火墙必须处于开启状态. 6.为Wind

Deskpool安装之:准备Windows XP虚拟机基础镜像

Deskpool虚拟桌面管理系统在配置过程中,需要导入虚拟机镜像,然后将镜像制作成一个虚拟桌面模板.被导入的虚拟机需要满足如下条件,才能保证成功制作成模板. 1.安装虚拟化平台的驱动(XenServer平台是Xen Tools,Hyper-V平台是Hyper-V集成服务) 2.被导入的虚拟机需要启用管理员(Administrator)帐户. 3.被导入的虚拟机需要开启 RDP 服务. 4.被导入的虚拟机需要开启文件共享服务. 5.RDP服务和文件共享服务的防火墙必须处于开启状态. 6.为Wind

socket在windows下和linux下的区别

windows到Linux代码移植遇到的问题 1.一些常用函数的移植 http://www.vckbase.com/document/viewdoc/?id=1586 2.网络 ------ 转载 & 修改(待整理) socket相关程序从windows移植到linux下需要注意的 1)头文件 windows下winsock.h/winsock2.h linux下sys/socket.h 错误处理:errno.h 2)初始化 windows下需要用WSAStartup linux下不需要 3)关