快速开始
使用非常简单,只需把 Syncer 服务启动,给他发一个命令,剩下的交给 Syncer 完成就行。
第一步. 部署源 Doris 集群
第二步. 部署目标 Doris 集群
第三步. 打开源和目标集群的 binlog 配置
在源集群和目标集群的 fe.conf 和 be.conf 中配置如下信息:
enable_feature_binlog=true
第四步. 部署 Syncer
4.1. 构建 CCR Syncer
```shell
git clone https://github.com/selectdb/ccr-syncer
cd ccr-syncer
bash build.sh <-j NUM_OF_THREAD> <--output SYNCER_OUTPUT_DIR>
cd SYNCER_OUTPUT_DIR# 联系相关同学免费获取 ccr 二进制包
```
4.2. 启动和停止 Syncer
```shell
# 启动
cd bin && sh start_syncer.sh --daemon
# 停止
sh stop_syncer.sh
```
第五步. 打开源集群中同步库/表的 Binlog
-- 如果是整库同步,可以执行如下脚本,使得该库下面所有的表都要打开 binlog.enable
vim shell/enable_db_binlog.sh
修改源集群的 host、port、user、password、db
或者 ./enable_db_binlog.sh --host $host --port $port --user $user --password $password --db $db
-- 如果是单表同步,则只需要打开 table 的 binlog.enable,在源集群上执行:
ALTER TABLE enable_binlog SET ("binlog.enable" = "true");
第六步. 向 Syncer 发起同步任务
curl -X POST -H "Content-Type: application/json" -d '{
"name": "ccr_test",
"src": {
"host": "localhost",
"port": "9030",
"thrift_port": "9020",
"user": "root",
"password": "",
"database": "your_db_name",
"table": "your_table_name"
},
"dest": {
"host": "localhost",
"port": "9030",
"thrift_port": "9020",
"user": "root",
"password": "",
"database": "your_db_name",
"table": "your_table_name"
}
}' http://127.0.0.1:9190/create_ccr
同步任务的参数说明:
name: CCR同步任务的名称,唯一即可
host、port:对应集群 Master FE的host和mysql(jdbc) 的端口
user、password:syncer以何种身份去开启事务、拉取数据等
database、table:
如果是库级别的同步,则填入your_db_name,your_table_name为空
如果是表级别同步,则需要填入your_db_name,your_table_name
向syncer发起同步任务中的name只能使用一次