qq悟空
(七七)
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v3.0.14
- 【问题描述】:
背景:tidb集群目前有几百个表,1T+数据。 现在需部署一套tidb binlog组件,从该集群同步10+个表的数据至一个新的tidb集群。
1: 请问老tidb集群版本是3.0.14, 新tidb集群版本是4.0 。 这种搭配会存在问题么
2: 部署drainer时,这种场景下进行首次备份及获取initial_commit_ts时,mydumper备份的应该是仅仅需要同步的10+个表吧,还是说需要备份整个tidb集群几百个表呢?
-- 官网文档
如果下游为 MySQL 或 TiDB,为了保证数据的完整性,需要进行全量数据的备份与恢复。此时 initial_commit_ts 的值必须是全量备份的时间戳。
感谢
来了老弟
2
建议使用相同版本,多谢
mydumper备份的应该是仅仅需要同步的10+个表,drainer 中做过滤即可
qq悟空
(七七)
3
mydumper导出时导出的是10多个表,drainer配置文件中过滤规则如下:
但部署并启动任务后却报错另外一个未导出也未配置的库下的xxx表未找到,帮确认一下,下面的过滤规则是配置不准确吗? 多谢
ignore-schemas = "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,dm_meta,tidb_loader,test"
replicate-do-db = ["pt_prime","pt_report","pt_search"]
[[syncer.replicate-do-table]]
db-name ="pt_prime"
tbl-name = "prime"
[[syncer.replicate-do-table]]
db-name ="pt_report"
tbl-name = "extra"
[[syncer.replicate-do-table]]
db-name ="pt_search"
tbl-name = "searchword"
[2020/06/05 20:00:02.938 +08:00] [INFO] [load.go:804] ["txnManager has been closed"]
[2020/06/05 20:00:02.938 +08:00] [INFO] [load.go:500] ["Run()... in Loader quit"]
[2020/06/05 20:00:02.938 +08:00] [INFO] [mysql.go:222] ["Successes chan quit"]
[2020/06/05 20:00:02.938 +08:00] [INFO] [load.go:748] ["run()... in txnManager quit"]
[2020/06/05 20:00:02.940 +08:00] [ERROR] [syncer.go:453] ["Failed to close syncer"] [error="table `mt_order`.`order_lock_risk`: table not exist"] [errorVerbose="table not exist\
github.com/pingcap/tidb-binlog/pkg/loader.init\
\t/home/jenk
ins/agent/workspace/release_tidb_3.0/go/src/github.com/pingcap/tidb-binlog/pkg/loader/util.go:32\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5222\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5217\
runtime.doInit\
\t/usr/l
ocal/go/src/runtime/proc.go:5217\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5217\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5217\
runtime.main\
\t/usr/local/go/src/runtime/proc.go:190\
runtime.goexit\
\t/usr/local/go/s
rc/runtime/asm_amd64.s:1357\
table `mt_order`.`order_lock_risk`"]
[2020/06/05 20:00:02.940 +08:00] [INFO] [syncer.go:257] ["write save point"] [ts=417122067683475511]
[2020/06/05 20:00:02.945 +08:00] [INFO] [syncer.go:249] ["handleSuccess quit"]
[2020/06/05 20:00:02.945 +08:00] [ERROR] [server.go:287] ["syncer exited abnormal"] [error="add to dsyncer, commit ts 417122070147629059: table `mt_order`.`order_lock_risk`: table not exist"] [errorVerbose="table not exist\
github.com/pin
gcap/tidb-binlog/pkg/loader.init\
\t/home/jenkins/agent/workspace/release_tidb_3.0/go/src/github.com/pingcap/tidb-binlog/pkg/loader/util.go:32\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5222\
runtime.doInit\
\t/usr/local/go/src/
runtime/proc.go:5217\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5217\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5217\
runtime.doInit\
\t/usr/local/go/src/runtime/proc.go:5217\
runtime.main\
\t/usr/local/go/src/runtime/
proc.go:190\
runtime.goexit\
\t/usr/local/go/src/runtime/asm_amd64.s:1357\
table `mt_order`.`order_lock_risk`\
add to dsyncer, commit ts 417122070147629059"]
[2020/06/05 20:00:02.946 +08:00] [INFO] [util.go:66] [Exit] [name=syncer]
[2020/06/05 20:00:02.946 +08:00] [INFO] [server.go:420] ["begin to close drainer server"]
[2020/06/05 20:00:02.950 +08:00] [INFO] [server.go:385] ["has already update status"] [id=bj-mtdb-tidb-dm-prd-001:8449]
[2020/06/05 20:00:02.950 +08:00] [INFO] [server.go:424] ["commit status done"]
[2020/06/05 20:00:02.950 +08:00] [INFO] [util.go:66] [Exit] [name=heartbeat]
[2020/06/05 20:00:02.950 +08:00] [INFO] [pump.go:77] ["pump is closing"] [id=bj-mtdb-tidb-dm-prd-001:8551]
[2020/06/05 20:00:02.950 +08:00] [INFO] [pump.go:77] ["pump is closing"] [id=bj-mtdb-tidb-dm-prd-002:8551]
[2020/06/05 20:00:02.950 +08:00] [INFO] [pump.go:77] ["pump is closing"] [id=bj-mtdb-tidb-dm-prd-003:8551]
[2020/06/05 20:00:02.950 +08:00] [INFO] [collector.go:133] ["publishBinlogs quit"]
[2020/06/05 20:00:02.950 +08:00] [INFO] [util.go:66] [Exit] [name=collect]
[2020/06/05 20:00:02.950 +08:00] [INFO] [merge.go:245] ["Merger is closed successfully"]
[2020/06/05 20:00:02.950 +08:00] [INFO] [main.go:73] ["drainer exit"]
方便的话,麻烦上传一下完整的 drainer.toml 配置文件以及 drainer 日志中最近一次 Welcome 开始的日志
确认一下 drainer 配置文件是否生效了
qq悟空
(七七)
6
inventory.ini配置内容如下
[drainer_servers]
mt2bigdata ansible_host=192.168.17.5 drainer_port=8449 deploy_dir=/data/tidb/4200/drainer initial_commit_ts="417122067683475461"
drainer.toml 配置文件以及 drainer 日志 请参考附件
mt2bigdata_drainer.toml (4.2 KB)
drainer.log (10.6 KB)
感谢 ~
qq悟空
(七七)
8
试了一下 ,果然是这个原因 ,感谢大佬 。
如果后续drainer下游需要新加表同步的话,是不是可以通过以下流程来实现呢? 帮确认下:
1: drainer上游库停止该新表业务写入
2: 在drainer上游库中备份该表数据并导入到drainer下游库中
3: drainer配置文件中增加该新表的过滤规则
4: 重启drainer服务
5: drainer上游开启该表业务写入
[[syncer.replicate-do-table]]
db-name ="库名"
tbl-name = "新表"
多谢 ~
system
(system)
关闭
13
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。