Skip to main content
Version: 4.0.1

基于Kubernetes部署

部署

请按照以下步骤,完成基于Kubernetes的PowerJob组件部署

  1. 点击进入批量构建子页面
  2. 点击K8S DataX执行器,进入PowerJob组件创建流程页面
  1. 点击创建PowerJob执行器按钮,初次安装,系统会告知没有安装相关插件,按照引导完成插件安装
  2. 继续点击创建PowerJob执行器按钮,

创建PowerJob组件的流程页面一共分为四个步骤:

  1. PowerJob Server相关配置定义
  2. PowerJob Worker相关配置定义
  3. PowerJob 任务模版定义
  4. 配置确认
PowerJob Server相关配置定义, 需要配置的信息分为两部分:
第一部分,基本配置,主要有以下几项:
  1. k8sImage:定义PowerJob在Kubernetes集群中相应组件所使用的Docker Image及TIS连接Kubernetes集群的凭证,供Kubernetes Client API使用。
  2. 服务暴露: Powerjob 启动之后将默认7700端口对外部暴露,可选择K8S相应暴露服务端口方式,如:NodePort,Ingress,LoadBalance
  3. coreDS:保存Powerjob server元数据的关系型数据库连接配置,目前支持两种方式:
    • Embedded: 由K8S集群启动MySQL类型的Powerjob Server元数据服务,由于容器MySQL持久化存储卷存在丢失风险,请谨慎使用该种方式。该种方式服务重启之后,原操作记录会全部清空,可作为测试之用,生产环境下谨慎使用
    • Customized: 由用户事先部署的MySQL的数据库服务,提供Powerjob Server元数据服务,因该种数据库服务可提供高可用容灾解决方案(推荐使用)
第二部分,占用Kubernetes资源(内存/CPU):

配置PowerJob Server启动需要Kubernetes的资源,多少个Pod?需要多少CPU?、多少内存等

点击k8sImage 右侧下拉列表中的添加,打开PowerJob Docker Images配置页面

点击k8sCfg右侧下拉列表中的添加,打开添加k8s引用配置页面

以上对话框表单中Yaml配置内容,需要从之前申请阿里云ACK的连接信息中拷贝而来
PowerJob Server相关配置定义, 需要配置的信息分为两部分:
第一部分,基本配置,主要有以下几项:
  1. WorkerPort:Worker工作端口,PowerJob Server可通过该端口与Worker交互
  2. 其他:略

第二部分,占用Kubernetes资源(内存/CPU):

配置PowerJob Worker启动需要Kubernetes的资源,多少个Pod?(设置多个Pod会提高TIS 数据同步的并行性,增加数据同步的吞吐)需要多少CPU?、多少内存等

PowerJob 任务模版相关:
  1. Instance重试数:当执行任务失败,可尝试重试次数,0为立即终止
  2. 最大实例数:同一时间可同时执行的实例数目,TIS中批量数据同步任务需要避免多个连接同时从数据库中拉取同一张表,所以这里应该设置1
  3. 其他:略
  1. 来到最后一步,对前三步骤中设置内容进行确认
  2. 点击启动按钮,TIS开始调用 Kubernetes REST API 在Kubernetes容器中将PowerJob的Server和Worker拉起
由于TIS在Kubernetes中需要将Kubernetes容器中将PowerJob的Server和Worker拉起,设计到多个资源如RelicaSet和Service的创建,且各资源之间 是有依赖关系。

在TIS中对各资源的启动进行编排,整个拉起过程需要耗费一点时间,可以通过控制台清晰看到启动步骤和容器内部执行日志。
成功拉起PowerJob后,点击关闭启动进度对话框,便自动跳转到PowerJob维护页面

通过该功能页面,用户可以查看及控制PowerJob生命周期相关操作。例如:如右图,用户可以在PowerJob运行期,动态添加或者减少 Worker数量,达到调节批量数据同步吞吐率的效果。

另外,通过点击日志Tab查看PowerJob中Server及Worker相关Pod的实时日志,等。

触发批量数据同步

成功拉起PowerJob服务之后,再次回到批量数据同步页面

发现上方的一行警告提醒已经消失,变成一个 分布式执行 的Tag图标,和一个 编辑 按钮,此时点击右侧的触发构建按钮可以触发批量数据同步, 此时任务是由PowerJob接管。

接下来,可进入PowerJob查看对应执行任务实例:

稍等片刻,批量数据同步任务执行完成,可点击右上方分布式执行按钮
在控制面板中点击控制台链接进入PowerJob系统
登录PowerJob系统,点击工作流实例发现增加了一条新的实例记录。

说明TIS触发的批量数据同步任务确实是由PowerJob接管执行的。

设置定时任务

执行批量执行任务,往往需要设置定时自动触发,通过PowerJob定时任务可实现此功能。

点击页面左上方编辑按钮,在表达式输入项中输入crontab表达式,点击保存按钮,定时任务就已经生效了,等到crontab设定的时间就会自动触发执行。

视频教程