Debezium Postgres 连接器 "After applying the include/exclude list filters, no changes will be captured"
Debezium Postgres Connector "After applying the include/exclude list filters, no changes will be captured"
我正在使用 Debezium(一种 Kafka 连接器)来捕获 Postgres 数据库更改,但我从 Debezium 收到错误消息。有谁知道下面的错误是什么意思,并可能提供修复它的建议。
更多调试信息:
- 我尝试了“schema.include.list”:“banking”和“database.include.list”:“banking”...都不起作用
- 我尝试了 debezium/connect:1.4 并且它可以工作...但是 debezium/connect:1.5+ 没有(1.9 是可用的最高版本并且它不起作用(与下)
Postgres|dbserver1|snapshot After applying the include/exclude list filters, no changes will be captured. Please check your configuration! [io.debezium.relational.RelationalDatabaseSchema]
我已经(在日志中)验证 Kafka(和模式注册表等)运行 正确,并且 Debezium 连接器似乎已经启动,并且 Postgres iw 正常工作并且创建了数据库和表.
以下是 Debezium 连接器配置:
{
"name": "banking-postgres-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "postgres",
"database.port": "5432",
"database.user": "postgres",
"database.password": "postgres",
"database.dbname" : "banking",
"database.server.name": "dbserver1",
"database.include.list": "banking",
"tasks.max": "1",
"table.include.list": "public.x_account,public.x_party,public.x_product,public.x_transaction"
}
}
经过数小时的调试(加上@OneCricketeer 的一些建议,这些建议为我指明了正确的方向),我设法获得了适用于 debezium/connect:1.9 的配置。解决方案是通过消除配置项来使用默认值:
database.include.list
schema.include.list
最终的 Debezium 配置如下:
{
"name": "banking-postgres-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "postgres",
"database.port": "5432",
"database.user": "postgres",
"database.password": "postgres",
"database.dbname" : "banking",
"database.server.name": "dbserver1",
"tasks.max": "1"
}
}
这确实指出了 Debezium 文档和代码中的一个小漏洞:
- 文档应为“schema.include.list”或“database.include.list”提供有效值(示例),因为单独为任一值添加数据库名称似乎不适用于 postgres...
- 如果能从日志中获取更多信息,那就太好了...警告消息既难以 find/understand 又让人无从下手。由于在这种情况下 没有 数据被捕获,因此它可能需要更高的重要性(记录错误?)
注意:我提供以上建议只是因为我发现 Debezium 是一款出色的产品!
我正在使用 Debezium(一种 Kafka 连接器)来捕获 Postgres 数据库更改,但我从 Debezium 收到错误消息。有谁知道下面的错误是什么意思,并可能提供修复它的建议。
更多调试信息:
- 我尝试了“schema.include.list”:“banking”和“database.include.list”:“banking”...都不起作用
- 我尝试了 debezium/connect:1.4 并且它可以工作...但是 debezium/connect:1.5+ 没有(1.9 是可用的最高版本并且它不起作用(与下)
Postgres|dbserver1|snapshot After applying the include/exclude list filters, no changes will be captured. Please check your configuration! [io.debezium.relational.RelationalDatabaseSchema]
我已经(在日志中)验证 Kafka(和模式注册表等)运行 正确,并且 Debezium 连接器似乎已经启动,并且 Postgres iw 正常工作并且创建了数据库和表.
以下是 Debezium 连接器配置:
{
"name": "banking-postgres-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "postgres",
"database.port": "5432",
"database.user": "postgres",
"database.password": "postgres",
"database.dbname" : "banking",
"database.server.name": "dbserver1",
"database.include.list": "banking",
"tasks.max": "1",
"table.include.list": "public.x_account,public.x_party,public.x_product,public.x_transaction"
}
}
经过数小时的调试(加上@OneCricketeer 的一些建议,这些建议为我指明了正确的方向),我设法获得了适用于 debezium/connect:1.9 的配置。解决方案是通过消除配置项来使用默认值:
database.include.list
schema.include.list
最终的 Debezium 配置如下:
{
"name": "banking-postgres-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "postgres",
"database.port": "5432",
"database.user": "postgres",
"database.password": "postgres",
"database.dbname" : "banking",
"database.server.name": "dbserver1",
"tasks.max": "1"
}
}
这确实指出了 Debezium 文档和代码中的一个小漏洞:
- 文档应为“schema.include.list”或“database.include.list”提供有效值(示例),因为单独为任一值添加数据库名称似乎不适用于 postgres...
- 如果能从日志中获取更多信息,那就太好了...警告消息既难以 find/understand 又让人无从下手。由于在这种情况下 没有 数据被捕获,因此它可能需要更高的重要性(记录错误?)
注意:我提供以上建议只是因为我发现 Debezium 是一款出色的产品!