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 ...
 
随机推荐
- 力扣算法题—149Max Points on a line
			
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
 - 如何将英文版的Firefox添加中文版语言包
			
http://ftp.mozilla.org/pub/firefox/releases/ xpi中下载zh_CN.xpi 文件 , 把文件拖拽进火狐浏览器 在地址栏输入”about:config”,回 ...
 - Django中的缓存机制
			
概述 对于中等流量网站来说,尽可能的减少开销是必要的.缓存数据就是为了保存那些需要很多计算资源大的结果,这样的的话就不必在下次重复消耗计算资源. Django自带了一个健壮的缓存系 ...
 - CG-CTF misc部分wp
			
将Misc剥离出来了,已完结(coding gay不想做了) MISC1,图种一听图种,现将图片的GIF改为zip,然后解压得到另一张动图看动图最后一句话为‘都深深的出卖了我’,得到 flag2, 丘 ...
 - 最全的chrome显示www和https方法(全版本)
			
78以前的老版本 设置如下参数 chrome://flags/#omnibox-ui-hide-steady-state-url-scheme chrome://flags/#omnibox-ui-h ...
 - svnlook - Subversion 仓库检索工具
			
SYNOPSIS 总览 svnlook command /path/to/repos [options] [args] OVERVIEW 概述 Subversion 是一个版本控制系统,允许保存旧版本 ...
 - Navicat定时 同步数据库
			
转载:https://www.cnblogs.com/DFX339/p/11646812.html 我是用在了 mysql 和 sql server 数据同步(操作一模一样) 好文章,简单粗暴.适合我 ...
 - google cloud
			
1.win10下安装gcloud SDK 必须设置环境变量CLOUDSDK_PYTHON指向执行文件而不是目录.
 - 获取请求url中的参数
			
一.根据request获取参数 假设请求地址是: http://127.0.0.1:8020/books/?title=语文 那么后台的路由配置: re_path('books/$', views.B ...
 - react  todelist
			
1.点击按钮提交,新增对象 buttonChange() { this.setState({ //展开运算符...this.state.list,生成一个全新的数组 // list:[...this. ...