当前位置:   article > 正文

dinky postgres-cdc to mysql 提示io.debezium.DebeziumException: Creation of replication slot failed_flink-cdc creation of replication slot failed

flink-cdc creation of replication slot failed

Caused by: io.debezium.DebeziumException: Creation of replication slot failed
Caused by: org.postgresql.util.PSQLException: ERROR: could not access file "decoderbufs": No such file or directory

  1. CREATE TABLE cdc_source (
  2. `user_id` int,
  3. `dept_id` int ,
  4. `nick_name` varchar,
  5. `user_name` varchar,
  6. `user_type` varchar,
  7. PRIMARY KEY (`user_id`) NOT ENFORCED -- 如果要同步的数据库表定义了主键, 则这里也需要定义
  8. ) WITH (
  9. 'connector' = 'postgres-cdc', -- 固定值 'postgres-cdc'
  10. 'hostname' = '*****', -- 数据库的 IP
  11. 'port' = '****', -- 数据库的访问端口
  12. 'username' = '*****', -- 数据库访问的用户名(需要提供 REPLICATION、LOGIN、SCHEMA、DATABASE、SELECT权限)
  13. 'password' = '*****', -- 数据库访问的密码
  14. 'database-name' = '******', -- 需要同步的数据库
  15. 'schema-name' = 'public', -- 需要同步的数据表所属schema (支持正则表达式)
  16. 'table-name' = 'sys_user', -- 需要同步的数据表名 (支持正则表达式)
  17. 'debezium.slot.name' = 'cdc_source', -- 定义一个唯一slot名称,可以包含小写字母、数字和下划线字符
  18. 'debezium.plugin.name'='pgoutput'
  19. );
  20. CREATE TABLE cdc_target (
  21. `user_id` bigint ,
  22. `dept_id` bigint ,
  23. `nick_name` varchar,
  24. `user_name` varchar,
  25. `user_type` varchar,
  26. PRIMARY KEY (`user_id`) NOT ENFORCED
  27. ) WITH (
  28. 'connector' = 'jdbc',
  29. 'url' = 'jdbc:mysql://127.0.0.1:3306/ry?createDatabaseIfNotExist=true&useSSL=false',
  30. 'username' = 'root',
  31. 'password' = 'root',
  32. 'table-name' = 'sys_user_postgres',
  33. 'driver' = 'com.mysql.cj.jdbc.Driver',
  34. 'scan.fetch-size' = '200'
  35. );
  36. INSERT INTO cdc_target SELECT * FROM cdc_source;

原因postgres-cdc没有添加最后一句:  'debezium.plugin.name'='pgoutput'

debezium.plugin.name='pgoutput' 是用来指定 Debezium 的插件为 pgoutput

在 Debezium 中,插件是用于实现特定数据库连接和数据捕获功能的组件。pgoutput 插件是针对 PostgreSQL 数据库的输出插件,用于将捕获到的数据库更改输出到外部系统或应用程序。

通过指定 debezium.plugin.name='pgoutput',Debezium 将加载 pgoutput 插件,并使用它来连接到 PostgreSQL 数据库,捕获数据变化,并将其输出到指定的目标。

特此记录!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/200246
推荐阅读
相关标签
  

闽ICP备14008679号