分布式计算自动部署

对于一个分布式计算的应用,如果不需要自动部署,将工头工人程序文件分别部署到相应机器运行即可,不需要过多配置。

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>设置为关闭)。

有包名时注意:
1、工头、工人在同一个包下比如com.job,需要在包根目录启动工头
java -cp fourinone.jar; com/job/JobCtor

2、工头、工人不在同一个包下
x/job/JobCtor.class
x/com/job/JobWorker.class
x为根目录,在x目录下运行:
java  -cp fourinone.jar; job/JobCtor

附件是demo

邮箱:[email protected]
企鹅群:241116021
开发包及指南下载地址:
http://www.skycn.com/soft/68321.html

猜你喜欢

转载自fourinone.iteye.com/blog/1568436
今日推荐