Doris离线同步

本文提供Doris离线同步场景的实施思路、配置示例和验证方式,可作为实际项目配置参考。

实现在Doris中结果表向目标表中离线同步数据

案例

Doris中将t_source中的数据离线同步到t_target中

注意

doris的相关端口号需要开放,否则同步会失败

实例名称端口名称默认端口通信方向说明
FEhttp_port8030Client <-> FE, FE <-> FEHTTP 服务器端口,用于提交任务、获取元数据等。CDC 任务主要依赖此端口。
query_port9030Client <-> FEMySQL 服务器端口,用于通过 MySQL 协议连接 FE 执行 SQL 命令(如建表、查询)。
rpc_port9020BE -> FE, FE <-> FEThrift 服务器端口,用于 FE 与 BE 的内部通信。
edit_log_port9010FE <-> FEFE 集群内部通信端口(bdbje)。
BEwebserver_port8040Client <-> BE, BE <-> BEHTTP 服务器端口,用于数据导入和 Tablet 上报等。CDC 任务写入数据依赖此端口。
be_port9060FE -> BEThrift 服务器端口,用于接收来自 FE 的请求。
brpc_port8060FE <-> BE, BE <-> BEBRPC 通信端口,用于 BE 之间的内部通信。
heartbeat_service_port9050FE -> BE心跳服务端口。

解决方案

创建Flink SQL作业类型,添加以下依赖

20250124154311

CREATE TABLE from_table
(
    username STRING,
    age      INT
) WITH (
      'connector' = 'doris',
      'fenodes' = '127.0.0.1:8030',
      'table.identifier' = 'ispong_db.t_source',
      'username' = 'root',
      'password' = 'root123'
      );

CREATE TABLE target_table
(
    username STRING,
    age      INT
) WITH (
      'connector' = 'doris',
      'fenodes' = '127.0.0.1:8030',
      'table.identifier' = 'ispong_db.t_target',
      'username' = 'root',
      'password' = 'root123'
      );

INSERT INTO target_table
select *
from from_table;
配置项说明
connector连接方式
fenodesdoris的fe连接,默认端口8030
table.identifier库名.表名
username数据源账号
password账号密码