Shaun
(Shaun)
2020 年9 月 28 日 05:28
1
背景:已使用tiup安装部署tidb4.0.6 的tidb/pd/tikv,现在需要部署pump/Drainer 同步tidb中aa库到下游mysql。
drainer_servers:
- host: xxx
port: 8249
data_dir: "/data1/tidb-data/drainer-8249"
initial_commit_ts: xxxx
deploy_dir: "/data1/tidb-deploy/drainer-8249"
config:
syncer.db-type: "mysql"
syncer.to.host: "xxx"
syncer.to.user: "xxx"
syncer.to.password: "xxx"
syncer.to.port: 3306
syncer.replicate-do-db: ["xxx"]
[syncer.to.checkpoint]
type: "mysql"
schema: "xxx"
host: "xxx"
user: "xxx"
password: "xxx"
port: 3306
[syncer.relay]
log-dir = "/data1/relay_log"
[tidb@tidbpd data1]$ tiup cluster scale-out tidb-test scale-out-drainer.yaml
Starting component cluster
: /home/tidb/.tiup/components/cluster/v1.1.2/tiup-cluster scale-out tidb-test scale-out-drainer.yaml
Error: Failed to parse topology file scale-out-drainer.yaml (topology.parse_failed)
caused by: yaml: line 16: could not find expected ':'
Please check the syntax of your topology file scale-out-drainer.yaml and try again.
Error: run /home/tidb/.tiup/components/cluster/v1.1.2/tiup-cluster
(wd:/home/tidb/.tiup/data/SBqccxt) failed: exit status 1
其中 checkpoint部分写成以下格式,也报同样的错误
[syncer.to.checkpoint]
type = “mysql”
schema = “xxx”
host = “xxx”
user = “xxx”
password = “xxx”
port = 3306
北京大爷
(北京大爷)
2020 年9 月 28 日 06:06
2
根据提示是您在部署文件中使用了错误的格式 yaml 配置文件中 不支持使用 “=”
scale-out.yaml配置 请你参考
drainer_servers:
- host: 10.0.1.12
port: 8249
data_dir: "/tidb-data/drainer-8249"
# If drainer doesn't have a checkpoint, use initial commitTS as the initial checkpoint.
# Will get a latest timestamp from pd if commit_ts is set to -1 (the default value).
commit_ts: -1
deploy_dir: "/tidb-deploy/drainer-8249"
# The following configs are used to overwrite the `server_configs.drainer` values.
config:
syncer.db-type: "tidb"
syncer.to.host: "10.0.1.12"
syncer.to.user: "root"
syncer.to.password: ""
syncer.to.port: 4000
highlight 部分
[syncer.to.checkpoint]
[syncer.relay]
是 drainer.toml 中的相关配置格式
请勿在 TiUP 中混用
Shaun
(Shaun)
2020 年9 月 28 日 06:11
3
你给出的参考 我没有发现有配置checkpoint部分和relay部分,那我要用tiup部署drainer,checkpoint和relay我应该怎么配置呢?
还有一点建议,现在官网文档 Ansible和tiup部署方式的使用方面写的不明确,容易混淆,且tiup相关的资料较少。
北京大爷
(北京大爷)
2020 年9 月 28 日 06:45
4
如果包含 有部分参数不在 tiup 中支持,可以登录目标服务器,手动修改配置文件后,通过 systemctl 对服务进行手动重启。
重启后 使用 tidb sql 或者 CTL 对 drinaer 状态进行检查。
https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-binlog-cluster#使用-tidb-sql-管理-pumpdrainer
tidb binlog 后续将被 ticdc 工具,目前 TiCDC 已经 GA,还原进行测试并提出宝贵意见
Shaun
(Shaun)
2020 年9 月 28 日 06:52
5
checkpoint和relay具体应该怎么配置呢?
这两个没办法手动配置吧?
难道用tiup无法配置checkpoint和relay?
北京大爷
(北京大爷)
2020 年9 月 29 日 02:49
6
你好 请按照 规范将 toml 格式的配置
转换为 yaml 格式
如
syncer.to.checkpoint.type: mysql
syncer.to.checkpoint.checkpoint.schema: xxx
或使用 工具 http://web.chacuo.net/charsettoml
进行转换