Apache NiFi处理器:CaptureChangeMySQL 2.2.0

Apache NiFi处理器:CaptureChangeMySQL 2.2.0

精选文章moguli202025-03-09 17:46:169A+A-


Bundle
org.apache.nifi | nifi--cdc--mysql--nar

描述
从MySQL数据库捕获变更数据(CDC)事件。CDC事件包括INSERT、UPDATE、DELETE操作。事件可以按指定数量分组输出(默认为1,即每个事件生成一个独立的FlowFile),或按完整事务(从BEGIN到COMMIT)分组输出。所有事件按操作发生时间排序。
注意:如果在达到指定事件数量前处理器被停止,已处理的部分事件仍会输出为FlowFile,以保证事件流的连续性。

标签
cdc, event, jdbc, mysql, sql, transaction

输入要求
FORBIDDEN
支持敏感动态属性
false


属性配置

数据库/模式名称模式

  • 显示名称:数据库/模式名称模式
  • 描述:用于匹配CDC事件数据库(或模式,取决于RDBMS术语)的正则表达式。正则表达式必须与数据库中存储的名称完全匹配。若未设置此属性,则不会根据数据库名称过滤CDC事件。
    注意:DDL事件(即使影响其他数据库)与会话执行DDL时使用的数据库关联。例如,若连接到数据库A但针对数据库B执行DDL,则匹配的数据库名称将是A。
  • API名称:capture—change—mysql—db—name—pattern
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:false

分布式Map缓存客户端(已弃用)

  • 显示名称:分布式Map缓存客户端(已弃用)
  • 描述:此属性已不再用于存储表信息,处理器将自行处理表信息(列名、类型等)。
  • API名称:capture—change—mysql—dist—map—cache—client
  • 服务接口:org.apache.nifi.distributed.cache.client.DistributedMapCacheClientService
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:false

MySQL驱动类名

  • 显示名称:MySQL驱动类名
  • 描述:MySQL数据库驱动类的类名。
  • API名称:capture—change—mysql—driver—class
  • 默认值:com.mysql.jdbc.Driver
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:true

MySQL驱动位置

  • 显示名称:MySQL驱动位置
  • 描述:逗号分隔的MySQL驱动JAR及其依赖(若有)的文件/文件夹路径或URL。例如:/var/tmp/mysql-connector-java-5.1.38-bin.jar
  • API名称:capture—change—mysql—driver—locations
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

MySQL节点

  • 显示名称:MySQL节点
  • 描述:MySQL集群节点的主机名(及可选端口)列表,格式为逗号分隔的host:port条目(端口可省略,默认3306)。例如:mysql.myhost.com:3306。处理器按列表顺序尝试连接节点。若集群启用了故障转移且节点失效,处理器将连接到活动节点(需在列表中指定)。
  • API名称:capture-change-mysql-hosts
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:true

包含Begin/Commit事件

  • 显示名称:包含Begin/Commit事件
  • 描述:是否输出二进制日志中的BEGIN/COMMIT事件。设为true可保留这些事件供下游流程使用;设为false可提升性能。
  • API名称:capture-change-mysql-include-begin-commit
  • 默认值:false
  • 允许值:true、false
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

包含DDL事件

  • 显示名称:包含DDL事件
  • 描述:是否输出DDL事件(如ALTER TABLE、TRUNCATE TABLE)。设为true可保留这些事件;设为false可提升性能。
  • API名称:capture-change-mysql-include-ddl-events
  • 默认值:false
  • 允许值:true、false
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

初始Binlog文件名

  • 显示名称:初始Binlog文件名
  • 描述:若处理器状态中无当前binlog文件名,则使用此属性指定的文件名。若已存在状态或“使用GTID”设为false,则忽略此属性。可与“初始Binlog位置”配合跳过历史事件。注意:支持NiFi表达式语言,但仅在配置时解析(无法使用FlowFile属性)。
  • API名称:capture-change-mysql-init-binlog-filename
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

初始Binlog位置

  • 显示名称:初始Binlog位置
  • 描述:若处理器状态中无当前binlog文件名,则使用此属性指定的偏移量。若已存在状态或“使用GTID”设为false,则忽略此属性。
  • API名称:capture-change-mysql-init-binlog-position
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

初始Binlog GTID

  • 显示名称:初始Binlog GTID
  • 描述:若处理器状态中无当前GTID,则使用此属性指定的GTID。若已存在状态或“使用GTID”设为false,则忽略此属性。
  • API名称:capture--change--mysql--init--gtid
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

初始序列ID

  • 显示名称:初始序列ID
  • 描述:若处理器状态中无当前序列ID,则使用此属性指定的ID。序列ID为单调递增整数,用于记录CDC事件顺序,可与EnforceOrder处理器配合保证有序交付。
  • API名称:capture--change--mysql--init--seq--id
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

最大等待时间

  • 显示名称:最大等待时间
  • 描述:建立连接的最大允许时间(0表示无限制)。
  • API名称:capture--change--mysql--max-wait-time
  • 默认值:30秒
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:true

表名称模式

  • 显示名称:表名称模式
  • 描述:匹配CDC事件表名的正则表达式。若未设置,则不过滤表名。
  • API名称:capture-change-mysql-name-pattern
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:false

密码

  • 显示名称:密码
  • 描述:访问MySQL集群的密码。
  • API名称:capture-change-mysql-password
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:true
  • 必填:false

检索所有记录

  • 显示名称:检索所有记录
  • 描述:是否获取所有可用CDC事件(忽略当前binlog状态)。若处理器状态中已有binlog数据,则此属性无效。重置行为需清除处理器状态
  • API名称:capture—change—mysql–retrieve–all–records
  • 默认值:true
  • 允许值:true、false
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

服务器ID

  • 显示名称:服务器ID
  • 描述:客户端连接到MySQL复制组时需唯一ID(默认65535)。每个CaptureChangeMySQL实例的ID必须全局唯一。
  • API名称:capture—change—mysql–server–id
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

使用Binlog GTID

  • 显示名称:使用Binlog GTID
  • 描述:是否使用全局事务ID(GTID)跟踪binlog。设为true时忽略binlog文件名/位置状态,提升故障转移可靠性。
  • API名称:capture—change—mysql–use–gtid
  • 默认值:false
  • 允许值:true、false
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

用户名

  • 显示名称:用户名
  • 描述:访问MySQL集群的用户名。
  • API名称:capture-change-mysql-username
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:false

事件处理策略

  • 显示名称:事件处理策略
  • 描述:指定将事件写入FlowFile的策略,如“每个FlowFile最大事件数”。
  • API名称:events-per-flowfile-strategy
  • 默认值:MAX_EVENTS_PER_FLOWFILE
  • 允许值
    • Max Events Per FlowFile
    • One Transaction Per FlowFile
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

每个FlowFile的事件数

  • 显示名称:每个FlowFile的事件数
  • 描述:单个FlowFile包含的事件数量。若处理器在达到数量前停止,已处理事件仍会输出。
  • API名称:number-of-events-per-flowfile
  • 默认值:1
  • 表达式语言支持:JVM环境变量及系统属性
  • 敏感:false
  • 必填:true
  • 依赖条件:事件处理策略为MAX_EVENTS_PER_FLOWFILE

SSL配置

SSL上下文服务

  • 显示名称:SSL上下文服务
  • 描述:支持加密通信的SSL上下文服务。
  • API名称:SSL Context Service
  • 服务接口:org.apache.nifi.ssl.SSLContextService
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:false
  • 依赖条件:SSL模式为PREFERRED、VERIFY_IDENTITY或REQUIRED

SSL模式

  • 显示名称:SSL模式
  • 描述:SSL证书验证模式(需配置SSL上下文服务)。
  • API名称:SSL Mode
  • 默认值:DISABLED
  • 允许值
    • DISABLED
    • PREFERRED
    • REQUIRED
    • VERIFY_IDENTITY
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

状态管理

作用域

描述

CLUSTER

存储当前CDC事件在数据库中的“指针”信息,确保重启后可从断点继续。


限制

所需权限

说明

reference remote resources

数据库驱动位置可引用HTTP远程资源。


关系

名称

描述

success

成功从SQL查询结果集生成FlowFile。


写入属性

属性名

描述

cdc.sequence.id

严格递增的序列ID,表示CDC事件FlowFile的顺序。

cdc.event.type

事件类型,如begin、insert、update、delete、ddl、commit等。

mime.type

FlowFile内容为JSON格式,此属性值为application/json。

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2