欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

分布式计算自动部署

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

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

邮箱:Fourinone@yeah.net
企鹅群:241116021
开发包及指南下载地址:
http://www.skycn.com/soft/68321.html