部署binlog需要安装两个组件,pump和drainer
部署pump需要修改tidbcluster的yaml文件,添加如下内容(参考文档)
pump: #baseImage: pingcap/tidb-binlog baseImage: harbor.uenpay.com/base/tidb-binlog version: v8.1.0 replicas: 3 storageClassName: cephrbd-sc requests: storage: 30Gi schedulerName: default-scheduler config: | addr = "0.0.0.0:8250" gc = 7 heartbeat-interval = 2
部署drainer官方推荐的用helm方式安装,我这里将helm文件模板化下来做了一定的修改
一键安装部署:
kubectl apply -f https://zhengyu1992.cn/file/deploy/db/tidb/6.tidb-drainer-file.yaml
配置文件解读
config-file: |- detect-interval = 10 compressor = "" [syncer] worker-count = 16 disable-dispatch = false ignore-schemas = "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql" safe-mode = false txn-batch = 20 db-type = "file" [syncer.to] dir = "/data/pb"
需要注意的:
#这里针对statefulset类型的yaml设置的service名称,关系到下面pod之间调用 serviceName: tidb-cluster-drainer ... domain=`echo ${HOSTNAME}`.tidb-cluster-drainer ... #这里设置的pd的service名称需要对应修改 -pd-urls=http://tidb-cluster-pd:2379