环境信息
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
对于 Canal Adapter 的写入失败问题,可能有多种原因,除了配置项错误,也可能是数据库中数据的格式或内容与目标端的格式不兼容,或者目标端服务异常等问题。建议您对失败的表进行逐个排查,检查数据格式、数据内容是否符合目标端要求,以及目标端的服务状态是否正常。
对于您的其他问题:
Canal 数据写入的时延与具体情况相关,包括写入数据量、写入频率、目标数据系统的负载和性能等因素都会影响 Canal 的实时同步能力。在正常情况下,Canal 的数据同步延迟应该是几秒钟至数十秒钟之间。
Canal Server 默认的内存缓冲区为 16 MB,这是一个比较安全的默认值,但是在数据量较大或者写入高峰期时可能需要适当增加。如果 Canal 内存占用率比较高,可能会导致 OutOfMemory 错误,因此建议根据实际情况和硬件资源情况来合理配置 Canal 内存缓冲区。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。