麻烦问下,针对数据库分表,我这样写,对于postgre数据库是创建了几个订阅?flink一直报“ma

麻烦问下,针对数据库分表,我这样写,对于postgre数据库是创建了几个订阅?flink一直报“max_wal_senders”配置不够//schema-name支持正则表达式" 'schema-name' = 'sdms_accrual_(ap|emea|la|na|default){1}',\n" +//table-name支持正则表达式" 'table-name' = 'biz_sdms_accrual_billing_init_(2021|2022|9999){1}_[1-4]{1}',\n" +" 'decoding.plugin.name' = 'pgoutput',\n" +" 'debezium.slot.name' = 'biz_sdms_accrual_billing_init_to_es_slot'" +

展开
收起
毛毛虫雨 2022-11-27 10:20:14 411 分享 版权
阿里云 AI 助理回答

根据您的描述,您正在使用正则表达式配置Flink作业以订阅PostgreSQL数据库中特定模式和表名的变更。配置示例如下:

'schema-name' = 'sdms_accrual_(ap|emea|la|na|default){1}',
'table-name' = 'biz_sdms_accrual_billing_init_(2021|2022|9999){1}_[1-4]{1}',
'decoding.plugin.name' = 'pgoutput',
'debezium.slot.name' = 'biz_sdms_accrual_billing_init_to_es_slot'

从这个配置来看,您并没有直接创建数据库订阅(在PostgreSQL中通常指的是REPLICATION相关的设置,比如max_wal_senderslogical_replication_workers),而是通过Debezium这样的数据捕获工具来监听数据库的变化。具体到您的问题,“max_wal_senders”配置不够,这意味着PostgreSQL服务器端需要调整以允许更多并发的复制连接。

问题分析: - max_wal_senders配置项 控制着可以同时连接到PostgreSQL实例并接收WAL(Write-Ahead Log)流的并发客户端数量。当您使用Debezium或其他逻辑复制工具时,每个订阅(或任务)都会占用一个WAL发送器槽位。 - 正则表达式配置 您的配置表明您试图匹配多个模式(如sdms_accrual_ap, sdms_accrual_emea等)下的多个表(如biz_sdms_accrual_billing_init_2021_1biz_sdms_accrual_billing_init_9999_4)。这并不直接影响max_wal_senders的数量需求,但确实指出了您希望监控的表范围广泛。

解决建议: 1. 增加max_wal_senders配置:您需要登录到PostgreSQL数据库服务器,编辑postgresql.conf文件,增加max_wal_senders的值。例如,如果当前是10,而您预计需要支持更多的订阅,则可能需要将其设置为一个更大的数字,如50或更高,具体取决于您的实际需求。修改后,需要重启PostgreSQL服务使更改生效。

# 在postgresql.conf中
max_wal_senders = 50  # 或者根据需要设定的更大值
  1. 检查logical_decoding_work_mem:对于大量并发解码操作,考虑适当增加logical_decoding_work_mem配置,以避免解码过程中的内存不足问题。

  2. 监控与调优:在调整后,持续监控数据库的资源使用情况,确保这些更改没有对其他数据库操作产生负面影响,并根据实际情况进一步微调。

注意事项: - 资源评估:增加max_wal_senders会消耗更多的系统资源,特别是内存和CPU。务必根据服务器的实际硬件能力进行合理配置。 - 并发度管理:理解您的应用程序确切需要多少并发复制连接,避免过度配置导致资源浪费。 - 备份与恢复策略:调整这类参数前,确保有完整的数据库备份,以防配置不当导致的服务中断。

综上所述,您遇到的问题并非直接由SQL查询引起,而是与数据库的复制和日志发送配置相关。通过调整PostgreSQL的相应配置项,即可解决“max_wal_senders”不足的问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理