更新时间:2024-11-29 GMT+08:00
创建CDL任务
操作场景
CDL除了通过CDLService WebUI创建任务外,还可以参考该章节通过命令行提交任务。
CDL的任务组成主要有两部分:Sink Connector和Source Connector,其中Connector中独立包含Link的概念,因此创建一个CDL任务的流程如下:
- 验证Link。
- 创建Link 。
- 创建任务(包含了两个Connector的配置)。
- 提交任务。
- 如果集群的默认域名不是hadoop.hadoop.com,必须在创建job的connector参数中增加如下参数项,其中“xxx.xxx.xxx”是实际的域名。
{"name" : "producer.override.kerberos.domain.name", "value" : "xxx.xxx.xxx"}
{"name" : "consumer.override.kerberos.domain.name", "value" : "xxx.xxx.xxx"}
- 任务创建完成之后不会自动执行,需要主动提交任务后才会真正的创建Connector。创建任务所使用的API可在CDL常用业务API查阅。
- CDL不支持抓取名称中包含$符号的表。
Job的创建参数的固定格式如下,需要根据实际情况填写的参数请参考接口入参。
{ "job_type": "CDL_JOB", //job类型,目前只支持CDL_JOB这一种 "name": "CDCMRSPGSQLJOB", //job名称 "description":"CDC MRS postgres Job", //job描述 "from-link-name": "postgresMRS", //数据源Link "to-link-name": "HDFSPOSTGRESMRSConnection", //目标源Link "from-config-values": { //Source Connector的配置,参考接口入参章节相关内容 {"name" : "topic.table.mapping", "value" : "[{\"topicName\": \"perf_test1\",\"tableName\": \"TESTMYSQL10\"},{\"topicName\": \"perf_test1\",\"tableName\": \"TESTMYSQL11\"}]"},//topic mapping的配置,设置表和topic对应关系,指定某个表的数据发送到指定的topic. }, "to-config-values": { //Sink Connector的配置,参考接口入参章节相关内容 {"name" : "topics", "value" : "kris_topic_t1,perf_test1,perf_test1"},//指定sink connector消费的topic集合 }, "job-config-values": { "inputs": [ {"name" : "global.topic", "value" : "cdcmrspgsqltopic"} //存储抓取数据的topic ] }
所有的CDL任务都需遵循上述创建步骤。本章节仅以MySQL到Kafka的数据抓取路径为例,其他路径可以通过CDL常用业务API章节获取具体的参数来组合。
操作步骤
- 在命令行输入截图中的命令验证MySQL Link,单击“Send”后,显示“SUCCESS”则表示验证成功。
- 参考如下截图中的命令创建MySQL Link。
- 在命令行输入截图中的命令验证Kafka Link,单击“Send”后,显示“SUCCESS”则表示验证成功。
- 参考如下截图中的命令创建Kafka Link。
- 参考如下截图中的命令创建Job。
- 参考如下截图中的命令提交Job。
- Job提交成功之后,即可以进行数据抓取,操作对应数据库中的表,观察topic是否有数据。
父主题: 使用CDL