如何使用nifi CaptureChangeMySQL?

时间:2019-12-18 15:13:34

标签: mysql hadoop apache-nifi

简介

我有一个mysql数据库,可以定期接收更新。我想定期检查此mysql数据库中Nifi的更改。

为此,CaptureChangeMySQL处理器似乎很完美。

但是,我无法使其正常工作。

我遵循了this tutorial,但是从数据库中插入/删除行时,处理器没有捕获任何东西。


设置

  • 本地的一个MySQL,可在localhost:3306上访问
  • 同一台计算机上有一个nifi。

MySQL配置

它有一个名为test的数据库,其中有一个device表,其中包含2万多行。

我在my.cnf中的/etc/mysql/文件如下:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
server_id = 1
log_bin = delta
binlog_format=row
binlog_do_db = source

Nifi CaptureChangeMySQL配置

config CCMySQL


Nifi CDC MapCache配置(分布式地图缓存客户端服务)

DMCCS config


Nifi分布式地图缓存服务器配置

enter image description here

使用此配置,我的CaptureChange处理器什么也不做(至少看不到任何东西)。我在做什么错而无法使用它?

1 个答案:

答案 0 :(得分:0)

my.cnf文件中,您已设置binlog_do_db = source

binlog-do-db使主服务器仅将指定DB的语句写入其二进制日志。就您而言,应将其设置为测试。

引用MySQL 5.7 binlog-do-db=db_name