1 Star 0 Fork 414

lism / porter

forked from sxfad / porter 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
profiles.md 8.10 KB
一键复制 编辑 原始数据 按行查看 历史
MurasakiSeiFu 提交于 2018-08-01 21:50 . 提交管理后台模块

配置文档

兼容性

	兼容v0.3.2+,包括v0.3.2

文档结构

  • config/application.properties
	spring-boot配置文件,可配置运行环境(spring.profiles.active)等,详情参考spring-boot官方文档。
	同样可通过startup.sh脚本指定上述参数,例如 startup.sh --logging.level.root=debug
  • config/application-${env}.properties
	spring-boot配置文件,不同运行环境的配置文件。
  • config/tasks/${env}/*.properties
	任务配置文件
	不同的环境(${env})的任务配置在config/tasks目录的不同子目录。
  • 日志生成目录
	spring-boot配置参数,默认logging.file=${app.home}/logs/data-porter.log。
	其中${app.home}是在启动脚本中指定的,指的是datas-porter的根目录

节点编号

  • porter.id
	用于指定任务节点编号,在所属分布式环境中唯一。用于自描述并在zookeeper上报心跳、实现分布式锁。
	eg.
		porter.id=100

统计

  • porter.statistic.upload
	是否上传统计信息,包括日志、TPS指标.
	类型:Boolean

集群

porter.cluster

	分布式集群实现,当前仅支持zookeeper
  • porter.cluster.strategy
	指定分布式集群的实现策略 
	eg.
		porter.cluster.strategy=ZOOKEEPER
  • porter.cluster.client.url
	集群连接参数
	eg.
		porter.cluster.client.url=127.0.0.1:2181
  • porter.cluster.client.sessionTimeout
	集群连接超时时间
	eg.
		porter.cluster.client.sessionTimeout=超时时间,单位为毫秒。

告警

porter.alert

 	告警策略驱动,当前仅支持邮件
  • porter.alert.strategy
	指定告警方式
	eg.
		porter.alert.strategy=EMAIL
  • porter.alert.frequencyOfSeconds
	相同内容通知接收频率
	eg.
		porter.alert.frequencyOfSeconds=60
  • porter.alert.client
	porter.alert.client.host=smtp服务器
	porter.alert.client.username=邮箱
	porter.alert.client.password=密码	
	porter.alert.client.smtpAuth=true
	porter.alert.client.smtpStarttlsEnable=true
	porter.alert.client.smtpStarttlsRequired=false
  • porter.alert.receiver
	全局告警通知人
	类型:ArrayList
	porter.alert.receiver[index].realName=姓名
	porter.alert.receiver[index].email=邮箱
	porter.alert.receiver[index].phone=手机号

公用连接池

	当多个任务目标端和源端共用数据库连接池时配置,用于节省数据库链接资源。
	类型:Map
	

porter.source.命名名字

  • porter.source.命名名字.sourceType
	源类型
	类型:enum
	可选参数:JDBC
  • porter.source.命名名字.url
	多个用逗号隔开
	eg.
		porter.source.命名名字.url=jdbc连接
  • porter.source.命名名字.userName
	账户名
	eg.
		porter.source.命名名字.userName=账户
  • porter.source.命名名字.password
	密码
	eg.
		porter.source.命名名字.password=密码
  • porter.source.命名名字.maxWait
  • porter.source.命名名字.minPoolSize
  • porter.source.命名名字.maxPoolSize
  • porter.source.命名名字.initialPoolSize
  • porter.source.命名名字.connectionErrorRetryAttempts
	连接错误重试次数
	类型:Int
  • porter.source.命名名字.dbType
	类型:Enum
	可选参数:MYSQL、		ORACLE
  • porter.source.命名名字.makePrimaryKeyWhenNo(2.0.1新增)
	类型:Boolean
	当目标端表无主键时,默认全部字段为主键
	默认true

任务配置

porter.task

	节点任务
	类型:ArrayList
  • porter.task[index].taskId
	任务编号
	类型:String
	eg. 
		porter.task[index].taskId=1
  • porter.task[index].receiver
	当前任务告警通知人
	任务告警会通知到porter.task[index].receiver + porter.alert.receiver
	类型:ArrayList
	porter.task[index].receiver[index].realName=姓名
	porter.task[index].receiver[index].email=邮箱
	porter.task[index].receiver[index].phone=手机号
  • porter.task[index].consumer
	任务消费源配置
	类型:DataConsumerConfig
  • porter.task[index].consumer.consumerNameme
		消费器插件
		类型:String
		可选择参数:CanalFetch、KafkaFetch
  • porter.task[index].consumer.converter
		消息转换器
		类型:String
		可选择参数:canalRow(1.0新增)、oggJson
  • porter.task[index].consumer.source
	消费器数据来源
	类型:Map
	
	CanalFetch:(1.0新增)
	porter.task[index].consumer.source.sourceType=CANAL
	porter.task[index].consumer.source.slaveId=mysql slaveId
	porter.task[index].consumer.source.address=ip:port
	porter.task[index].consumer.source.database=数据库名
	porter.task[index].consumer.source.username=账户
	porter.task[index].consumer.source.password=密码
	porter.task[index].consumer.source.filter=订阅表正则
	
	KafkaFetch:
	porter.task[0].consumer.source.sourceType=KAFKA
	porter.task[0].consumer.source.servers=ip:port,ip:port
	porter.task[0].consumer.source.topics=主题
	porter.task[0].consumer.source.group=消费分组
	porter.task[0].consumer.source.autoCommit=true|false
	
  • porter.task[index].consumer.metaSource
	元数据数据源
	类型:Map
	不做配置时,将不会做源端与目标端数据一致对比。(1.1新增规则)
	形式1:
	porter.task[index].consumer.metaSource.sourceName=公共数据源名字
	
	形式2:
	porter.task[index].consumer.metaSource.dbType
	porter.task[index].consumer.metaSource.url
	porter.task[index].consumer.metaSource.userName
	porter.task[index].consumer.metaSource.password
	porter.task[index].consumer.metaSource.maxWait
	porter.task[index].consumer.metaSource.minPoolSize
	porter.task[index].consumer.metaSource.maxPoolSize
	porter.task[index].consumer.metaSource.initialPoolSize
	porter.task[index].consumer.metaSource.connectionErrorRetryAttempts
  • porter.task[index].consumer.eventProcessor.className(1.1新增)
	自定义同步数据数据抽取器
	格式:package.className
  • porter.task[index].consumer.eventProcessor.content(1.1新增)
	class路径、jar路径、源码内容
  • porter.task[index].consumer.eventProcessor.emptyFetchNoticeSpan(2.0.1新增)
	空查询通知间隔,单位秒
	默认3600
  • porter.task[index].consumer.eventProcessor.emptyFetchThreshold(2.0.1新增)
	空查询通知时间阀值,单位秒
	-1时不生效,默认3600
  • porter.task[index].loader
	任务载入器配置
	类型:DataLoaderConfig
  • porter.task[index].loader.loaderName
	目标端载入器插件
	类型:Enum
	可选参数:JdbcBatch、JdbcSingle
  • porter.task[index].loader.source
	目标端数据源
	类型:Map
	
	形式1:
	porter.task[index].loader.source.sourceName=公共数据源名字
	
	形式2:
	porter.task[index].loader.source.dbType
	porter.task[index].loader.source.url
	porter.task[index].loader.sourceuserName
	porter.task[index].loader.source.password
	porter.task[index].loader.source.maxWait
	porter.task[index].loader.source.minPoolSize
	porter.task[index].loader.source.maxPoolSize
	porter.task[index].loader.source.initialPoolSize
	porter.task[index].loader.source.connectionErrorRetryAttempts
  • porter.task[index].loader.insertOnUpdateError(2.0新增)
	目标端更新失败转插入开关参数,默认开启
	类型:Boolean
  • porter.task[index].mapper
	源端与目标端schema映射,用于处理源端和目标端命名不一致的情况
	类型:List
  • porter.task[index].mapper[下标].schema
	porter.task[index].mapper[index].schema=源端schema,目标端schema
  • porter.task[index].mapper[下标].table
	porter.task[index].mapper[index].table=源端表名,目标端表名
  • porter.task[index].mapper[下标].updateDate
	如果不配置或配置错误,数据同步结果检查功能不启用
	porter.task[index].mapper[下标].updateDate=源端表自动更新时间字段,目标端表自动更新时间字段
  • porter.task[index].mapper[下标].column
	字段映射,可不配置。
	porter.task[index].mapper[下标].column.源端字段名=目标端字段名
Java
1
https://gitee.com/lism/porter.git
git@gitee.com:lism/porter.git
lism
porter
porter
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891