免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8555 | 回复: 0
打印 上一主题 下一主题

ETL作业调度软件集群分布式架构调度安装详解笔记分享 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之上海
日期:2016-07-08 16:08:38
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-08-07 11:52 |只看该作者 |倒序浏览
在这里我们说一下TASKCTL的部署过程,TASKCTL部署可以分为单机部署和联机部署(集群部署)。先说一下我们需要准备的东西,首先我们需要到官方网站去下载服务端与客户端的安装包,然后准备一个Windows端的FTP工具和解压缩工具。我们这里用VMWare Player虚拟机安装一个Linux系统来当做我们的服务器,在这个系统中创建4个账户(taskctl,magent,sagent1,sagent2),用来模拟TASKCTL的集群部署,虽然各节点都是安装到同一台服务器的,但是无论安装方式还是软件的执行方式,都与正式环境是一样的,也能从侧面说明TASKCTL所占用的服务器资源很少。
       因为虚拟机使用的是Red Hat Enterprise Linux 5这个发行版,所以在下载服务端的时候,我们选择For Linux 4.5这个版本。桌面客户端的话,如果在Windows系统中安装有.net framework4.5的话,就直接选择TASKCTL4.5,如果没有,则先安装.net framework4.5。下载以后,服务端解压缩,然后上传至taskctl账户,下面就进入正式的安装过程。
·        单机部署
TASKCTL单机部署
·        安装Windows客户端
Windows客户端安装十分简单,首先把下载好的客户端压缩包解压出来,然后双击Taskctl 4.5.1 Setup.exe程序进入安装,如果不需要更换目录,就可以一路的下一步直到完成安装。解释一下TASKCTL的Windows客户端的构成,客户端分为3个软件:Admin、Designer、Monitor。
Admin主要用于管理TASKCTL平台,比如:各节点的启停,全局变量管理,工程导入导出,工程管理等等平台级维护操作。
Designer主要用于各种流程和定时器的设计。
Monitor是TASKCTL平台的监控运维软件,主要用于监控运维流程和定时器的运行情况。
为了验证我们的服务端是否安装成功,我们需要打开的Admin客户端来验证一下。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
选择服务器登录,然后输入服务节点的IP地址和端口号,用户名与密码都是默认的admin,然后点击登录,进入主界面file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png
我们就能看到已经部署好的节点了,之所以能看到这么多节点,是因为在安装的时候内置了一些节点配置的范例,真正部署到位的只有Server节点。下面,我们选中Server节点,然后点击右下角的停止按钮,如果提示说“停止成功”,则说明我们的部署成功。
·        集群部署
TASKCTL集群部署
·        负载均衡
在上面的集群部署的基础上,才能够实现TASKCTL的负载均衡,要求最少拥有一个主代理节点(MAgent)和一个从代理节点(SAgent),实现起来非常的简单,只需要在Designer中设计的时候,将任务的agentid属性设置为主代理节点(MAgent)的名字加上一对中括号“[magent]”,然后,将需要做负载均衡处理的所有任务,分别放在主代理和从代理上面,任务的环境必须一致,比如说:在主代理服务器上我们放了一个叫做test.sh的shell脚本在$HOME目录下面,那么,从代理服务器的test.sh脚本也要放在$HOME目录下。在这样的前提之下,TASKCTL的调度核心会判断用哪一台代理服务器处理任务。例如:
<serial>
  <name>MainModul_rootnode</name>
  <begin>
    <name>MainModul_beginjob</name>
  </begin>
  <parallel>
    <name>test</name>
    <!-- 在组节点下设置的一些属性,组节点内的任务在没有自己的私有属性的情况下,会默认的继承,这里就会继承agentid属性 -->
    <agentid>[magent]</agentid>
    <sh>
      <name>MainModul_JobNode0</name>
      <progname>$HOME/test.sh</progname>
    </sh>
    <sh>
      <name>MainModul_JobNode1</name>
      <progname>$HOME/test.sh</progname>
    </sh>
    <sh>
      <name>MainModul_JobNode2</name>
      <progname>$HOME/test.sh</progname>
    </sh>
    <sh>
      <name>MainModul_JobNode3</name>
      <progname>$HOME/test.sh</progname>
    </sh>
    <sh>
      <name>MainModul_JobNode4</name>
      <progname>$HOME/test.sh</progname>
    </sh>
    <sh>
      <name>MainModul_JobNode5</name>
      <progname>$HOME/test.sh</progname>
    </sh>
  </parallel>
  <end>
    <name>MainModul_endjob</name>
  </end>
</serial>


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP