开发者社区> 问答> 正文

canal 部分表出现写入失败

环境信息

canal version canal 1.1.2 mysql version 阿里云 rds

问题描述

场景:canal 监控 rds 写入到 hbase ,canal 服务正常运行,日志无报错内容,adapter 运行正常。 问题:部分表出现写入失败,具体信息如下(真实数据抹掉了) 2019-01-24 10:20:00.457 INFO 19749 --- [pool-1-thread-1] c.a.o.c.c.a.logger.LoggerAdapterExample : DML: {"data":[{key:value}],"database":"insmarket","destination":"insmarket","es":1548296400000,"old":null,"sql":"","table":"t_nmi_order_intf","ts":1548296400457,"type":"INSERT"} 2019-01-24 10:20:00.457 ERROR 19749 --- [pool-2-thread-1] c.a.o.c.a.l.loader.CanalAdapterWorker : Outer adapter write failed

疑问:除了配置项错误会触发这种错误信息,还有其他情况么

=======

其他关于 canal 的问题:

1、canal 数据写入的时延大概是多少

2、canal 服务端 buffer 配置默认值 16 M ,需要根据自己情况修改么,还是 16 M 足以。

原提问者GitHub用户ghost

展开
收起
古拉古拉 2023-05-08 14:56:54 137 0
2 条回答
写回答
取消 提交回答
  • 可以尝试一下1.1.3 alpha-3版本,对于adapter做了蛮多的问题修复

    原回答者GitHub用户agapple

    2023-05-09 18:01:45
    赞同 展开评论 打赏
  • 对于 Canal Adapter 的写入失败问题,可能有多种原因,除了配置项错误,也可能是数据库中数据的格式或内容与目标端的格式不兼容,或者目标端服务异常等问题。建议您对失败的表进行逐个排查,检查数据格式、数据内容是否符合目标端要求,以及目标端的服务状态是否正常。

    对于您的其他问题:

    1. Canal 数据写入的时延与具体情况相关,包括写入数据量、写入频率、目标数据系统的负载和性能等因素都会影响 Canal 的实时同步能力。在正常情况下,Canal 的数据同步延迟应该是几秒钟至数十秒钟之间。

    2. Canal Server 默认的内存缓冲区为 16 MB,这是一个比较安全的默认值,但是在数据量较大或者写入高峰期时可能需要适当增加。如果 Canal 内存占用率比较高,可能会导致 OutOfMemory 错误,因此建议根据实际情况和硬件资源情况来合理配置 Canal 内存缓冲区。

    2023-05-08 15:00:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载