otter 4.2.13
com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed. Caused by: java.lang.IllegalArgumentException: illegal json data at com.taobao.tddl.dbsync.binlog.JsonConversion.parse_scalar(JsonConversion.java:150) ~[canal.parse.dbsync-1.0.22.jar:na] at com.taobao.tddl.dbsync.binlog.JsonConversion.parse_value(JsonConversion.java:67) ~[canal.parse.dbsync-1.0.22.jar:na] at com.taobao.tddl.dbsync.binlog.JsonConversion$Json_Value.element(JsonConversion.java:272) ~[canal.parse.dbsync-1.0.22.jar:na] at com.taobao.tddl.dbsync.binlog.JsonConversion$Json_Value.toJsonString(JsonConversion.java:285) ~[canal.parse.dbsync-1.0.22.jar:na] at com.taobao.tddl.dbsync.binlog.JsonConversion$Json_Value.toJsonString(JsonConversion.java:295) ~[canal.parse.dbsync-1.0.22.jar:na] at com.taobao.tddl.dbsync.binlog.event.RowsLogBuffer.fetchValue(RowsLogBuffer.java:957) ~[canal.parse.dbsync-1.0.22.jar:na] at com.taobao.tddl.dbsync.binlog.event.RowsLogBuffer.nextValue(RowsLogBuffer.java:99) ~[canal.parse.dbsync-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parseOneRow(LogEventConvert.java:467) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parseRowsEvent(LogEventConvert.java:377) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parse(LogEventConvert.java:111) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parse(LogEventConvert.java:62) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.AbstractEventParser.parseAndProfilingIfNecessary(AbstractEventParser.java:327) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3$1.sink(AbstractEventParser.java:177) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:121) ~[canal.parse-1.0.22.jar:na] at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:210) ~[canal.parse-1.0.22.jar:na] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161]
拉了几个patchillegal+json+data想替换canal1.0.22 ,没解决
用node4.2.13跟4.2.15 交替跑。 原因是4.2.13 不支持json, 4.2.15 不稳定会出现connect.connect() first
正常跑4.2.13 碰到json问题临时跑4.2.15
4.2.15 必现问题connect.connect() first
原提问者GitHub用户 luyee
根据您提供的信息,您遇到了 Otter 在解析 binlog 时出现的 illegal json data 异常,同时也遇到了 Otter 在使用 4.2.15 版本时出现的 connect.connect() first 异常。
针对这两个异常,可以尝试以下几个方法:
illegal json data 异常:这个异常通常是由于 binlog 中包含了无效或者不合法的 JSON 数据导致的。为了解决这个问题,您可以尝试更新或者升级 Canal 的版本,以确保 Canal 能够正确解析 JSON 数据。同时,建议检查 binlog 中的数据是否符合 JSON 格式要求,并及时清理或者修复无效数据。
connect.connect() first 异常:这个异常通常是由于 Otter 和 Canal 之间的网络连接存在问题导致的。为了解决这个问题,您可以尝试以下几个方法:
检查 Canal 的配置信息,确保 Canal 启动正常,并已正确配置网络参数和端口信息。 检查防火墙和网络连接,确保 Otter 可以正常连接 Canal,并且能够通过网络访问 Canal 所在的服务器。 检查 Otter 的版本和配置信息,确保 Otter 已正确配置 Canal 的连接参数和协议信息。 尝试升级或者降级 Otter 的版本,以确保 Otter 和 Canal 之间的网络连接能够正常工作。 需要注意的是,针对这两个异常,应该综合考虑多个方面的因素,并及时备份和监控数据,以确保数据同步的正确性和稳定性。如果您仍然无法解决这两个问题,建议联系 Otter 的技术支持或者社区,以获得更好的帮助和支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。