分布式计算自动部署
对于一个分布式计算的应用,如果不需要自动部署,将工头工人程序文件分别部署到相应机器运行即可,不需要过多配置。
fourinone2.0可以支持自动化class和jar包部署,class和jar包只需放在工头机器上, 各工人机器会自动获取并执行,兼容操作系统,不需要进行安全密钥复杂配置.
假设有一个分布式计算job,包括三个程序文件:
JobCtor:包工头实现
JobWorker:农民工实现
JobHelp:工人帮助类
如果需要自动部署,可以将上面三个class文件都放置在工头机器上,并在工头实现里指定工人实现类
在JobCtor里通过下面代码设置:
wks[0].setWorker(new JobWorker());
运行步骤如下:
1、启动ParkServerDemo(它的IP端口已经在配置文件的PARK部分的SERVERS指定)
2、由于工人的实现类不放置在工人机器上,那么请在每台工人节点机器上启动MigrantWorker类
java -cp fourinone.jar; com.fourinone.MigrantWorker 192.108.0.8 2008 helloworker
这里启动MigrantWorker指定的几个参数依次是“工人节点ip信息”、“端口信息”、“工人类型”
3、运行JobCtor
可以看到工头动态分发JobWorker和JobHelp到工人节点机器上执行,每台工人机器节点只需要有fourinone.jar和config.xml即可
如果将上面三个class文件打包成jar包,需要在上面启动MigrantWorker时增加一个jar名称参数,表示会自动请求执行该jar包
配置注意:如果使用自动部署,工头机器会自动启动http服务,http服务ip和端口在WEBAPP部分的SERVERS配置,需要设置为工头机器ip,并保持工头和工人机器的SERVERS配置一致。如果在同台机器上模拟自动部署,需要注意parkServer和工头不重复启动http服务(可以将park部分配置的<STARTWEBAPP>false</STARTWEBAPP>设置为关闭)。
附件是demo
邮箱:Fourinone@yeah.net
企鹅群:241116021
开发包及指南下载地址:
http://www.skycn.com/soft/68321.html