zhangst
zhangst
applyOps是嵌套的,之后版本修正
可以按时间来算一下,丢失了几秒的数据。比如一秒写入100秒,少了200条就是2秒的数据。 shake复制不是双写,总会有数据丢失的,是不可避免的。能做的就是降低复制的延迟,这个可以通过增加work来实现,这里也要注意增量hash的方式
1. shake有开启DDL同步吗? createUser属于DDL操作 2. worker的配置可以根据CPU的使用率来动态调配。但是要注意一个点,worker的hash规则和业务上规格是有相互影响的,配置文件如下: hash的方式,id表示按文档hash,collection表示按表hash,auto表示自动选择hash类型。 如果没有索引建议选择id达到非常高的同步性能,反之请选择collection。 incr_sync.shard_key = auto
shake2.8.4+mongodb6.0下,创建新用户是可以同步的。 只设置这两个参数,其它两个不设置 filter.ddl_enable = true filter.pass.special.db = admin 设置shake日志参数为debug级别,看下是否有createuser或admin.system.users的日志输出。
这个提示很明显,配置的时间不对,不能进行增量同步
步骤3中运行mongoshake的时候,checkpoint.storage.collection对应的位点数据有清理吗? 如果还没有解决,请参考:https://github.com/alibaba/MongoShake/issues/700 提供下相关的信息
现在确实是这样的,kafka写到内部tunnel.inputChan就算成功,没有去严格计算写入kafka队列成功,成功后就会更新位点。所以会出现这样的问题。 目的是MongoDB时有做强一致写入DB成功后,才更新位点。
这是账号权限问题,非shake的问题,配置的账号需要有库的读写权限才行。
https://github.com/alibaba/MongoShake/issues/700 参考连接提供下必须内容