问题1:DataWorks java.io.ioexception: Received error packet: errno = 1236? 问题2:这样说的话,只能去我的mysql设置找原因吗? datawords上面有配置能设置吗?重置位点到当前时刻也不行,我的数据两确实有点大,都是json格式的数据,单挑有20kb,是的 一直都是刚才那个错误。
回答1:数据集成实时同步(mysqlbinlog==>hologres任务终止)报错:java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = Client requested master to start replication from impossible position; the first event 'xxxx' at 0, the last event read from 'xxxx' at 4, the last byte read from 'xxxx' at 4. A1: mysql是主从架构的,master节点由于异常导致重启,master节点写binlog1终止(位点position为22222),另起了新的binlg2开始从position0开始写。 slave节点并不知晓该情况,仍从binlog1文件进行备份. 随着slave节点备份工作的进行,其要读取的position(比如要读position-22226)已经大于binlog1的最大的position了,此时就会出现找不到位点的问题,报如上错误。 详情可见: https://blog.csdn.net/wawa8899/article/details/83746594 实时同步任务报错根因: mysql-cannel读取异常捕获不了数据,目的端holo writer无法拿到数据,导致holowriter写入(insert failed)失败,最终导致实时同步任务终止 处理办法:处理mysql主从同步状态,使其恢复正常后重新做实时同步。 看报错是找不到时间位点 "startPosition":"2023-03-01 00:00:00",mysqlbinglog 应该已经不在本地 重新启动实时任务 重置位点到当前时刻试一下两种情况binlog会不在本地1)超过了mysql设置的binlog保存时间2)超过了一定的大小 也会持久化不在本地 回答2:是的 这个是binlog日志不在本地 所以客户端读不到 ,重置位点到当前时刻是可以的 当前的日志还在mysql本地,最新报错是啥 还是原来那个任务吗,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。