部署Drainer出现异常错误

背景:已使用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

根据提示是您在部署文件中使用了错误的格式 yaml 配置文件中 不支持使用 “=”

scale-out.yaml配置 请你参考
https://github.com/pingcap/docs-cn/blob/release-4.0/config-templates/complex-tidb-binlog.yaml#L116-L130
highlight 部分

[syncer.to.checkpoint]
[syncer.relay]
是 drainer.toml 中的相关配置格式
请勿在 TiUP 中混用

你给出的参考 我没有发现有配置checkpoint部分和relay部分,那我要用tiup部署drainer,checkpoint和relay我应该怎么配置呢?

还有一点建议,现在官网文档 Ansible和tiup部署方式的使用方面写的不明确,容易混淆,且tiup相关的资料较少。

如果包含 有部分参数不在 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,还原进行测试并提出宝贵意见

checkpoint和relay具体应该怎么配置呢?
这两个没办法手动配置吧?
难道用tiup无法配置checkpoint和relay?

你好 请按照 规范将 toml 格式的配置
转换为 yaml 格式

syncer.to.checkpoint.type: mysql
syncer.to.checkpoint.checkpoint.schema: xxx

或使用 工具 http://web.chacuo.net/charsettoml
进行转换