erlang在windows下和虚拟机节点通信
版权声明:博客将逐步迁移到 http://cwqqq.com https://blog.csdn.net/cwqcwk1/article/details/24738599
在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、查看epmdport情况,应该能够看到erlang节点占用的port。将这些port加到防火墙的同意port
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
erlang在windows下和虚拟机节点通信的更多相关文章
- windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问
在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...
- 学习Hadoop+Spark大数据巨量分析与机器学习整合开发-windows利用虚拟机实现模拟多节点集群构建
记录学习<Hadoop+Spark大数据巨量分析与机器学习整合开发>这本书. 第五章 Hadoop Multi Node Cluster windows利用虚拟机实现模拟多节点集群构建 5 ...
- 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分
本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 随着基础结构服务(虚拟机和虚拟网络)近期在 Windows Azure 上正式发布,越来越多的企业工作负荷正在向 ...
- SPARK如何使用AKKA实现进程、节点通信
SPARK如何使用AKKA实现进程.节点通信 <深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 < ...
- 宿主机Windows访问虚拟机Linux文件(二)
上一篇文章中详细讲述FTP服务(基于文件传输协议的服务),本文则介绍另一种能够实现此功能Telnet(Telecommunications network 远程登陆)服务.本文介绍的telnet我常用 ...
- virtualbox 下windows与虚拟机实现文件共享---挂载
1.创建挂载目录: mkdir /mnt/share 2.挂载:mount /dev/cdrom /mnt/share 3.cd /mnt/share 3.虚拟机-设备-分配光驱-VBoxGuestA ...
- Windows Azure 虚拟机备份
如果我们要在Windows Azure的虚拟机上进行一些“重要且高危”的操作,我们通常会想到使用快照或者备份功能.但是在Windows Azure上是没有虚拟机快照功能的,尽管我们可以对虚拟机的磁盘文 ...
- XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装XE6 PAS ...
- Windows下虚拟机安装Mac OS X ----- VM12安装Mac OS X 10.11
Windows下虚拟机安装Mac OS X -– VM12安装Mac OS X 10.11 随着Iphone在国内大行其道,越来越多的开发者涌入iOS开发大军 中,但都苦于没有苹果机,本文即将介绍WI ...
随机推荐
- 调用WPF程序时传入参数
http://blog.csdn.net/martin_cheng/article/details/41351013 http://blog.csdn.net/libby1984/article/de ...
- __attribute__((regparm(3))) from GNU C
在 x86 上,regparm 属性会传递一个数值给编译器,这个数值会告诉编译器要用多少个寄存器来传递函数参数(EAX, EDX 或 ECX,最多 3 个寄存器),通常情况下函数是用堆栈来传递参数的. ...
- jQuery部分疑问及小结
2015/12/28 判断浏览器版本和类型 var mode = document.documentMode || 0;(jquery1.9.1不支持ie 8,9,10) var setExpr = ...
- 翻译 What is the concept of Service Container in Laravel?
原文链接: https://stackoverflow.com/questions/37038830/what-is-the-concept-of-service-container-in-larav ...
- shell变量的间接引用
- AngularJS 项目开发实战
目录 啰嗦一下 你问我答 目录结构 压缩 其他 啰嗦一下 最近在开发一个项目时,调研了一下AngularJS,发现这个框架功能很丰富,而且用起来也很方便,所以深入了解了一下,在此分享一下我的感悟. A ...
- CSP 2019 模板整合
qwq以下都为9.24后写的模板 namespace IO{ const int S = 1 << 20; char I[S + 1], *Is = I, *It = I, O[S + 1 ...
- mutable and immutable
employees = ['Corey', 'John', 'Rick', 'Steve', 'Carl', 'Adam'] output = '<ul>\n' for employee ...
- 【Movist Pro】macOS上的绝佳媒体播放器
Movist Pro是适用于Mac的高性能电影播放器,如果比较流程和界面,则Movist与QuickTime非常相似.因此,采用播放器几乎不会有任何问题.使用Quicktime或FFmpeg解码电影并 ...
- Java多线程常用方法的使用
Java多线程的常用方法基本分为:获取当前线程的操作,线程休眠sleep()方法,线程让步yield()方法,等待其他线程终止join()方法,线程停止的一系列方法. 一.获取当前线程的操作 1. ...