认识 TASKCTL

TASKCTL 是塔斯克信息技术有限公司,专为数据仓库批量调度自动化打造的一款【国产免费】企业级调度管理监控平台;该平台拥有完善的体系、全面的功能、简易的操作和超前的设计风格,使产品结合 ETL 调度技术领域的特点,构建了一套直观易用的 ETL 调度设计、监控维护、管理平台。可为从业人员提供简便、统一的方法来管理各类复杂作业的调度和监控管理。

应用场景

TASKCTL 通过将企业内部复杂的作业调度依赖关系,进行灵活的统一编排和管理,带来前所未有的简便性。通过采用全内存计算,基于全事件技术驱动,可简单、快速地对作业进行定义、编排和执行,并生成优化调度执行建议,高效地执行作业调度。

TASKCTL 主要实现对 ETL 作业、存储过程、SQL 语句、shell 脚本、DS 作业等多类型作业的自动化编排和调度,既可用于帮助用户轻松构建自动化、规范化批量调度管理平台,也可用于支撑大数据时代下数据流向的调度管理自动化等,形成专门的解决方案。

核心结构

批量作业调度引擎 TASKCTL 安装与实例部署

TASKCTL 自动化技术标准产品采用典型的 B/S 模式,应用层为客户端,控制层为服务端。同时,服务端完成对目标层的调度控制。整个平台采用无数据库设计,每层之间以 TCP 作为通信协议

  • 应用层从功能的角度,主要分 admin,designer,monitor。从应用渠道的角度,又分 Web 端及 Windows 应用客户端渠道与后台字符界面客户端渠道。同时,为了进一步方便用户,系统服务端还提供了丰富的控制操作行命令。

  • 控制层是多级金字塔架构,顶层为服务控制节点,完成各种调度服务控制以及为客户端提供各种操作应用服务。而代理层完成与目标服务器(ETL 等)的控制交互。代理层通过主从代理级联方式,可实现对集群部署的服务器进行调度控制,实现负载均衡等。

  • 目标层,是整个产品所控制的目标,比如我们的 ETL 服务器,作业工作站等。

获取安装包

安装包都可以通过访问官网下载获取。若需要其他 Unix 环境服务端软件,例如【Aix 版本】,可联系官方获取。

1. 后台服务核心+字符界面客户端集成安装包

根据操作系统类型【32 位/64 位】选择对应的软件下载。

2. 在线应用客户端

需要【安装 jdk 1.8 版本】

安装概述

由产品的核心架构图以及获取的产品安装包,我们清楚该产品分为两部分安装,即后台核心系统安装和应用客户端系统安装。而后台核心系统安装又分为核心调度服务安装和核心调度代理安装。而客户端应用系统安装也分为两部分安装,即后台字符界面应用系统安装和在线应用系统安装。

因为后台字符界面应用系统和产品核心系统环境差不多,所以把核心产品系统和后台字符界面系统放到一个安装包里,即后台软件安装包,这样也是方便后面提到的典型安装部署。

核心安装

产品核心由核心调度服务节点和核心调度代理节点构成,它们协同工作,共同完成后台核心的各种功能。所以产品核心安装分为核心调度服务节点安装、核心调度代理节点安装。一个平台必须安装且只能安装一个核心调度服务节点,而核心调度代理节点则根据实际情况安装部署,核心调度服务节点中已经集成了一个核心调度代理,当单机部署时,只用安装核心调度服务节点即可。

由于核心采用多层次网络体系,所以对 IP 地址和端口的管理尤其重要,管理员必须合理分配好。

核心调度服务节点安装

安装环境

批量作业调度引擎 TASKCTL 安装与实例部署

安装步骤

_第一步:_解压安装包:把安装包拷贝到需要安装核心调度服务的用户下,解压安装包文件如下:

tar -xvf taskctlforxxxx_x.x.x.tar.gz ----lix系统安装包,不同系统不同安装包

_第二步:_配置环境变量:在安装用户下进入到.bash_profile 或.profile 文件中配置环境变量如下:

export TASKCTLDIR=$HOME/task --安装目录export PATH=$PATH:$TASKCTLDIR/bin:. --执行bin目录

(配置完成后使环境变量生效,<重新登录用户或者用 source 命令>,以 echo $TASKCTLDIR 能打印出环境变量值为准)

_第三步:_执行安装程序:进入到 cirinst 目录下,执行 inst 程序。然后进入字符界面如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击回车键后,安装程序会自动检查用户环境变量,如果 TASKCTLDIR 环境变量目录存在则继续,否则按照第二步配置好环境变量再重新安装。检查通过后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

关于典型安装我们会在之后的章节进行说明。这里先选择 2 自定义安装。选择好了后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

接下来选择 1 核心调度服务安装。安装程序自动开始安装到之前指定的产品目录。并要求输入调度服务节点 IP 地址和监听端口号等信息。如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

  • IP 地 址:使用管理员分配给服务节点的 IP 地址(必须是本机 IP 地址)

  • 端 口:使用管理员分配给服务节点的端口号(必须是未被占用端口)

确认输入信息之后,安装程序提示是否安装范例。如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

这里根据自身需求选择是否安装范例,初次使用的用户建议安装范例,里面有很多范例可以参考学习。

选择完是否安装范例后,默认会启动服务。至此,调度服务节点安装完毕。

此时用户可以通过 **”ctlninfo 命令”**或者查看 “$(TASKCTLDIR)” 目录下是否产生如下目录:

批量作业调度引擎 TASKCTL 安装与实例部署

如果存在,也可间接证明安装调度服务节点成功。

核心调度代理节点安装

产品核心由核心调度服务节点和核心调度代理节点构成,默认的单机部署只用安装服务节点即可;当有跨服务器的调度需求时,我们就需要通过安装代理来满足需求。服务节点和代理节点的安装包都是同一个,通过安装时选择不同的选项完成。

安装环境

代理节点安装环境

批量作业调度引擎 TASKCTL 安装与实例部署

安装步骤

_第一步:_解压安装包:把安装包拷贝到需要安装核心调度代理节点的用户下,解压安装包文件如下:

 tar -xvf taskctlforxxxx_x.x.x.tar.gz ----lix系统安装包,不同系统不同安装包

_第二步:_配置环境变量:在安装用户下进入到.bash_profile 或.profile 文件中配置环境变量如下:

  export TASKCTLDIR=$HOME/task --安装目录  export PATH=$PATH:$TASKCTLDIR/bin:. --执行bin目录

(配置完成后使环境变量生效,<重新登录用户或者用 source 命令>,以 “echo $TASKCTLDIR” 能打印出环境变量值为准)

_第三步:_执行安装程序:进入到 cirinst 目录下,执行 inst 程序。然后进入字符界面如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击回车键后,安装程序会自动检查用户环境变量,如果 TASKCTLDIR 环境变量目录存在则继续,否则按照第二步配置好环境变量再重新安装。检查通过后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

关于典型快速安装我们会在之后的章节进行说明。这里先选择 2 产品自定义安装。选择好了后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

接下来选择 2 核心调度代理安装。安装程序自动开始安装到之前指定的产品目录。并要求输入代理节点 IP 地址和监听端口号等信息。如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

  • IP 地 址:使用管理员分配给代理节点的 IP 地址(必须是本机 IP 地址)

  • 端 口:使用管理员分配给代理节点的端口号(必须是未被占用端口)

确认输入信息之后。如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

至此,代理节点安装完毕。此时用户可以通过 “ctlninfo 命令” 或者查看 $(TASKCTLDIR))目录下是否产生如下目录:

批量作业调度引擎 TASKCTL 安装与实例部署

应用客户端安装

客户端应用系统分为 web 在线应用系统、【Linux/unix 字符界面】应用系统和【Windows 客户端】应用系统三部分。不同的系统代表用户使用的不同渠道,web 在线应用系统和 Windows 客户端应用系统的界面和操作更直观。而字符界面系统功能更全面。另外,字符界面也是安装在【Linux/unix】下,所以集成在了核心服务的安装包中。

从【8.0 版本】开始,将采用 web 在线应用系统的图例来说明操作步骤。若需要查看【Windows 客户端】的图例,查看早期版本文档。

在线应用系统安装

在线应用系统要【安装 java1.8 及以上版本】 通过大量实践测试表明:在监控环境下,Monitor 应用模块是支持实时(延迟不应超过 5 秒)图形监控系统。特别是在启动大量并发监控界面的时候,对系统的性能的要求较高。但在开发环境下,Admin 和 Designer 应用模块对系统性能的要求相对较低。因此目前主流的客户机都能满足生产环境的硬件要求

安装环境

批量作业调度引擎 TASKCTL 安装与实例部署

安装步骤

1. 环境准备

因为在线应用系统需要安装【java1.8 版本】,可以通过 “java – version” 命令查看具体,如下图所示

批量作业调度引擎 TASKCTL 安装与实例部署

2. 步骤

a) 上传并解压安装【安装包 taskctl-web-7.1.zip】

批量作业调度引擎 TASKCTL 安装与实例部署

b) 进入解压后的目录 taskctl-web-7.1,执行 sh install.sh 命令。确定 web 应用的 IP/端口及调度服务端的 IP/端口信息。

批量作业调度引擎 TASKCTL 安装与实例部署

c) 执行 startup.sh 启动 web 应用。通过 Webkit 内核的浏览器(如:360,chrome 等)访问地址

d) 安装过程完毕

Windows 应用系统安装

该客户端是 windows 操作系统下,基于【.net framework 4.0 环境】开发的【C/S 结构】的应用系统。

安装环境

批量作业调度引擎 TASKCTL 安装与实例部署

安装步骤

_第一步:_客户端用户权限设置:软件操作用户具有以下系统权限如下图:

批量作业调度引擎 TASKCTL 安装与实例部署

_第二步:_解压安装包:【TaskctlClientInstall_x.x.x.zip】

_第三步:_运作安装程序:执行安装程序 “TaskctlClientInstall_x.x.x..exe” 进入安装向导,如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击<下一步>出现如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

需要用户接受安装许可协议才能下一步。点击<我接受>,出现如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击<下一步>,出现如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

选择好安装路径后,点击<下一步>出现如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

如果确认安装点击<安装>,将进入安装界面并完成安装。出现如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击<完成>按钮即可。此时在桌面上出现 Admin/ Designer /Monitor 三个快捷键应用程序图标。

字符界面应用系统安装

安装环境

批量作业调度引擎 TASKCTL 安装与实例部署

安装步骤

_第一步:_解压安装包:把安装包拷贝到需要字符界面客户端的用户下,解压安装包文件如下:

 tar -xvf taskctlforxxxx_x.x.x.tar.gz ----lix系统安装包,不同系统不同安装包

_第二步:_配置环境变量:在安装用户下进入到.bash_profile 或.profile 文件中配置环境变量如下:

 export TASKCTLDIR=$HOME/task --安装目录 export PATH=$PATH:$TASKCTLDIR/bin:. --执行bin目录

(配置完成后使环境变量生效,<重新登录用户或者用 source 命令>,以 “echo $TASKCTLDIR” 能打印出环境变量值为准)

_第三步:_执行安装程序:进入到 “cirinst 目录下,执行 inst 程序” 然后进入字符界面如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击回车键后,安装程序会自动检查用户环境变量,如果 “TASKCTLDIR 环境变量” 目录存在则继续,否则按照第二步配置好环境变量再重新安装。检查通过后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

关于典型快速安装我们会在之后的章节进行说明。这里先选择 2 产品自定义安装。选择好了后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

接下来选择 3 字符界面客户端安装。安装程序自动开始安装到之前指定的产品目录。并要求输入服务端 IP 地址和服务端端口号等信息。如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

  • IP 地 址:是服务端的 IP 地址,和前面安装的服务节点 IP 地址一致

  • 端 口:是服务端的端口号,和前面安装的服务节点端口一致

至此,字符界面客户端安装完毕。此时用户可以查看 “$(TASKCTLDIR)” 目录下是否产生如下目录:

批量作业调度引擎 TASKCTL 安装与实例部署

此时用户可以使用 ctladmin 管理平台、ctlflowc 开发平台和 ctlmoni 监控平台单个软件。

典型安装

安装环境

批量作业调度引擎 TASKCTL 安装与实例部署

安装步骤

_第一步:_解压安装包:把安装包拷贝到需要安装服务的用户下,解压安装包文件如下:

  tar -xvf taskctlforxxxx_x.x.x.tar.gz ----lix系统安装包,不同系统不同安装包

_第二步:_配置环境变量:在安装用户下进入到.bash_profile 或.profile 文件中配置环境变量如下:

 export TASKCTLDIR=$HOME/task --安装目录 export PATH=$PATH:$TASKCTLDIR/bin:. --执行bin目录

(配置完成后使环境变量生效,<重新登录用户或者用 source 命令>,以 “echo $TASKCTLDIR” 能打印出环境变量值为准)

_第三步:_执行安装程序:进入到 “cirinst 目录下,执行 inst 程序” 然后进入字符界面如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

点击回车键后,安装程序会自动检查用户环境变量,如果 “TASKCTLDIR 环境变量” 目录存在则继续,否则按照第二步配置好环境变量再重新安装。检查通过后会出现以下界面:

批量作业调度引擎 TASKCTL 安装与实例部署

这里我们选择 1 典型安装。安装程序会依次安装字符界面客户端、核心调度服务控制节点,并要求输入调度服务节点 IP 地址和服务节点监听端口号。

批量作业调度引擎 TASKCTL 安装与实例部署

  • IP 地 址:使用管理员分配给服务节点的 IP 地址(必须是本机 IP 地址)

  • 端 口:使用管理员分配给服务节点的端口号(必须是未被占用端口)

接下来就是是否安装范例,根据自身需求选择后,回车,服务就安装完成并启动了。

单机部署

单机部署指的是指我们整个平台只部署一个核心服务节点且没有代理节点。对于后台 TASKCTL 字符界面应用系统,我们可以与服务部署在一起,也可以部署于其它环境。该部署模式也是调度最简单的部署。

分布式部署

分布式部署指有部署核心代理节点。对于后台字符界面应用系统,我们可以与核心服务节点或代理节点部署在一起,也可以部署于其它环境。该部署方式相比单机部署适应于个性化的网络应用环境。

目前国内 ETL 项目中,分布式部署是主流部署形式。

部署步骤:

  1. 安装核心服务节点:

  2. 安装核心代理节点:在另一个环境继续安装核心代理节点,

  3. 安装字符界面应用系统:在服务或者代理或者其它环境下安装客户端系统,

  4. 通过在线应用客户端设置代理节点的主从关系。如下图所示:

批量作业调度引擎 TASKCTL 安装与实例部署

(TASKCTL 的负载均衡方案是通过主代理节点结合从代理节点来实现的。当配置了主从代理时,在设计时,可以使用负载均衡,)