flinkx运行任务配置详解

一个完整的Flinkx任务脚本配置包含 content, setting两个部分。content用于配置任务的输入源与输出源,其中包含reader,writer。而setting则配置任务整体的环境设定,其中包含restore,speed,errorLimit,dirty,log。具体如下所示:

{
	"job" : {
		"content" :[{
    	"reader" : {
				......
      },
    	"writer" : {
				......
			}
    }],
   "setting" : {
      "restore" : {
        ......
      },
      "speed" : {
      	......
      },
      "errorLimit" : {
      	......
      },
      "dirty" : {
      	......
      },
      "log" : {
      	......
      }
    }
	}
}
名称 说明是否必填
contentreaderreader插件详细配置
 writerwriter插件详细配置
settingrestore任务类型及断点续传配置
 speed速率限制
 errorLimit出错控制
 dirty脏数据保存
 log日志记录配置

content配置

reader

reader用于配置数据的输入源,即数据从何而来。具体配置如下所示:

"reader" : {
  "name" : "xxreader",
  "parameter" : {
		......
  }
}
名称说明是否必填
namereader插件名称,具体名称参考各数据源配置文档
parameter数据源配置参数,具体配置参考各数据源配置文档

writer

writer用于配置数据的输出源,即数据写往何处。具体配置如下所示:

"writer" : {
  "name" : "xxwriter",
  "parameter" : {
		......
  }
}
名称说明是否必填
namewriter插件名称,具体名称参考各数据源配置文档
parameter数据源配置参数,具体配置参考各数据源配置文档

setting配置

restore

restore用于配置同步任务类型(离线同步、实时采集)和断点续传功能。具体配置如下所示:

"restore" : {
  "isStream" : false,
  "isRestore" : false,
  "restoreColumnName" : "",
  "restoreColumnIndex" : 0,
  "maxRowNumForCheckpoint" : 10000
}
名称说明是否必填默认值参数类型
isStream是否为实时采集任务falseBoolean
isRestore是否开启断点续传falseBoolean
restoreColumnName断点续传字段名称开启断点续传后必填String
restoreColumnIndex断点续传字段索引ID开启断点续传后必填-1int
maxRowNumForCheckpoint触发checkpoint数据条数10000int

speed

speed用于配置任务并发数及速率限制。具体配置如下所示:

"speed" : {
  "channel": 1,
  "bytes": 0
}
  •  
名称说明是否必填默认值参数类型
channel任务并发数1int
bytesbytes >0则表示开启任务限速Long.MAX_VALUELong

errorLimit

errorLimit用于配置任务运行时数据读取写入的出错控制。具体配置如下所示:

"errorLimit" : {
  "record": 100,
  "percentage": 10.0
}
名称说明是否必填默认值参数类型
record错误阈值,当错误记录数超过此阈值时任务失败0int
percentage错误比例阈值,当错误记录比例超过此阈值时任务失败0.0Double

dirty

dirty用于配置脏数据的保存,通常与上文出错控制联合使用。具体配置如下所示:

"dirty" : {
  "path" : "xxx",
  "hadoopConfig" : {
    ......
  }
 }
名称说明是否必填默认值参数类型
path脏数据保存路径Sring
hadoopConfigHadoop相关配置K-V键值对

参考模板如下:

"dirty" : {
        "path" : "/user/hive/warehouse/xx.db/xx",
        "hadoopConfig" : {
          "fs.default.name": "hdfs://0.0.0.0:9000",
          "dfs.ha.namenodes.ns1" : "nn1,nn2",
          "dfs.namenode.rpc-address.ns1.nn1" : "0.0.0.0:9000",
          "dfs.namenode.rpc-address.ns1.nn2" : "0.0.0.1:9000",
          "dfs.client.failover.proxy.provider.ns1" : "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
          "dfs.nameservices" : "ns1"
        }
      }

 

log

log用于配置Flinkx中定义的插件日志的保存与记录。具体配置如下所示:

"log" : {
  "isLogger": false,
  "level" : "info",
  "path" : "/tmp/dtstack/flinkx/",
  "pattern":""
}

名称说明是否必填默认值参数类型
isLogger是否保存日志记录falseBoolean
level日志级别infoString
path服务器上日志保存路径/tmp/dtstack/flinkx/String
pattern日志输出格式log4j:%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{60} %X{sourceThread} - %msg%nString
   logback : %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n 

示例

这是一个mysql=> mysql 的实例

  • 错误为无限制
  • 基本的reader 和 writer 配置
{
    "job": {
        "setting": {
            "speed": {
                 "channel": 1,
                 "bytes": 1024
            },
            "errorLimit": {
                "record": 10000,
                "percentage": 10.0
            },
            "dirty": {
                "path": "/soft/flume/flinkx/job"
            }
        },
        "content": [
            {
                "reader": {
                    "parameter":{
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://172.17.0.103:3306/geopanel?useUnicode=true&characterEncoding=utf-8&useSSL=false"],
                                "table": [
                                    "sys_log"
                                ]
                            }
                        ],
                        "username": "root",
                        "password": "root",
                        "fetchSize":100,
                        "column": [
                            {
                                "name":"id",
                                "type":"long"
                            },{
                                "name":"type",
                                "type":"string"
                            },{
                                "name":"title",
                                "type":"string"
                            },{
                                "name":"create_by",
                                "type":"string"
                            },{
                                "name":"create_time",
                                "type":"date"
                            },{
                                "name":"update_time",
                                "type":"date"
                            },{
                                "name":"remote_addr",
                                "type":"string"
                            },{
                                "name":"user_agent",
                                "type":"string"
                            },{
                                "name":"refer",
                                "type":"string"
                            },{
                                "name":"request_uri",
                                "type":"string"
                            },{
                                "name":"method",
                                "type":"string"
                            },{
                                "name":"params",
                                "type":"string"
                            },{
                                "name":"time",
                                "type":"long"
                            },{
                                "name":"exception",
                                "type":"string"
                            },{
                                "name":"service_name",
                                "type":"string"
                            },{
                                "name":"del_flag",
                                "type":"string"
                            }
                        ],
                        "filter": ""
                    },
                    "name":"mysqlreader"
                },
               "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "writeMode": "insert",
                        "username": "root",
                        "password": "root",
                        "column": [
                            {
                                "name":"id",
                                "type":"bigint"
                            },{
                                "name":"type",
                                "type":"varchar"
                            },{
                                "name":"title",
                                "type":"varchar"
                            },{
                                "name":"create_by",
                                "type":"varchar"
                            },{
                                "name":"create_time",
                                "type":"datetime"
                            },{
                                "name":"update_time",
                                "type":"datetime"
                            },{
                                "name":"remote_addr",
                                "type":"varchar"
                            },{
                                "name":"user_agent",
                                "type":"varchar"
                            },{
                                "name":"refer",
                                "type":"varchar"
                            },{
                                "name":"request_uri",
                                "type":"varchar"
                            },{
                                "name":"method",
                                "type":"varchar"
                            },{
                                "name":"params",
                                "type":"varchar"
                            },{
                                "name":"time",
                                "type":"bigint"
                            },{
                                "name":"exception",
                                "type":"varchar"
                            },{
                                "name":"service_name",
                                "type":"varchar"
                            },{
                                "name":"del_flag",
                                "type":"varchar"
                            }
                        ],
                        "batchSize": 1,
                        "session": [
                        ],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://172.17.0.103:3306/ahcs?useUnicode=true&characterEncoding=utf-8&useSSL=false"],
                                "table": [
                                    "sys_log_copy"
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    }
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值