IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Flink CDC 连接 postgresql 遇到的问题 -> 正文阅读

[大数据]Flink CDC 连接 postgresql 遇到的问题

参考

Postgres CDC Connector

Flink-cdc实时读postgresql

flink cdc捕获postgresql数据

版本:Flink 1.13.6、Flink CDC 2.1.0、Postgresql 10

需要更改 postgresql.conf

# 更改wal日志方式为logical
wal_level = logical            # minimal, replica, or logical
# 更改solts最大数量(默认值为10),flink-cdc默认一张表占用一个
slotsmax_replication_slots = 20           # max number of replication slots
# 更改wal发送最大进程数(默认值为10),这个值和上面的solts设置一样
max_wal_senders = 20    # max number of walsender processes
# 中断那些停止活动超过指定毫秒数的复制连接,可以适当设置大一点(默认60s)
wal_sender_timeout = 180s	# in milliseconds; 0 disable

Flink CDC 连接 postgresql 遇到的问题

  1. 错误: 无法访问文件 “decoderbufs”: 没有那个文件或目录:Flink CDC 集成了 debezium,debezium 从 postgresql 采集数据需要 decoderbufs 插件支持,所以要在 postgresql 上安装 decoderbufs。

    这个需要下载源码手动编译,同时需要依赖 Protobuf、Protobuf-c、PostGIS 才能编译。

    由于我 yum 不能安装,只能手动编译:Postgre SQL-decoderbufs配置方法(相当麻烦)

    https://github.com/debezium/postgres-decoderbufs

  2. IDE 访问 pg 报错:cannot access com.google.protobuf.GeneratedMessageV3需要在 pom 文件添加依赖

  3. flink-cdc 可以查询 pg 数据,但不能捕捉更新数据需要ALTER TABLE xxx REPLICA IDENTITY FULL;

  4. org.postgresql.util.PSQLException: 错误: replication slot 正用于 PID 28817:需要指定 slot.name(默认为 flink),Flink CDC 默认一张表占用一个 slot。多个未指定 slot.name 的连接会产生冲突。

  5. 致命错误: 所要求的备用服务器连接数超过了参数max_wal_senders的值(当前设置为10):当前连接数超过 max_wal_senders。需要在 postgresql.conf 增大 max_wal_senders

    postgres=# select pid, usename, application_name, backend_type, backend_start from pg_stat_activity;
      pid  | usename  |              application_name               |    backend_type     |         backend_start         
    -------+----------+---------------------------------------------+---------------------+-------------------------------
     20889 |          |                                             | autovacuum launcher | 2022-04-02 10:31:44.623142+08
     20891 | postgres |                                             | background worker   | 2022-04-02 10:31:44.624378+08
     65726 | postgres | psql                                        | client backend      | 2022-04-08 10:02:44.980358+08
     49334 | hxp      | PostgreSQL JDBC Driver                      | client backend      | 2022-04-06 11:01:00.868736+08
     49349 | hxp      | PostgreSQL JDBC Driver                      | walsender           | 2022-04-06 11:01:01.345935+08
     21140 | hxp      | DBeaver 21.2.3 - Main <big_data_public>     | client backend      | 2022-04-02 10:33:36.912172+08
     21141 | hxp      | DBeaver 21.2.3 - Metadata <big_data_public> | client backend      | 2022-04-02 10:33:36.9758+08
     20887 |          |                                             | background writer   | 2022-04-02 10:31:44.61592+08
     20886 |          |                                             | checkpointer        | 2022-04-02 10:31:44.610283+08
     20888 |          |                                             | walwriter           | 2022-04-02 10:31:44.616197+08
    (10 行记录)
    
  6. org.postgresql.util.PSQLException: 错误: 所有的复制槽都在使用中:槽数量超过 max_replication_slots(默认是 10)。需要在 postgresql.conf 增大 max_replication_slots。或者删除不需要的槽:SELECT pg_drop_replication_slot('xxx');

    postgres=# SELECT * FROM pg_replication_slots;
        slot_name     |   plugin    | slot_type |
    ------------------+-------------+-----------+
     decoderbufs_demo | decoderbufs | logical   |
     flink            | decoderbufs | logical   |
     xxx              | decoderbufs | logical   |
     a                | decoderbufs | logical   |
     b                | decoderbufs | logical   |
     c                | decoderbufs | logical   |
     d                | decoderbufs | logical   |
     e1               | decoderbufs | logical   |
     f                | decoderbufs | logical   |
     g                | decoderbufs | logical   |
    (10 行记录)
    

    为什么将 PostgreSQL 用作源的 AWS DMS 任务因所有复制槽均在使用中而失败?

    postgresql之replication slot

    postgresql replication slots 的一些个人理解

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:28:13  更:2022-04-09 18:30:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:25:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码