更新时间:2024-04-28 13:26:09

多域数据复制遵循网络限制规则,通过在多个网络域之间的数据复制,实现数据的统一存储,进而实现全局数据搜索和分析。

进入数据管理>数据开放>多域数据复制页面,在此页面可以对多域数据复制任务进行创建查看、修改、删除等管理操作。关于多域数据复制任务的相关配置操作说明,具体如下:

► 创建多域数据复制任务

创建流程如下:

快速阅读链接:

配置基本任务信息

配置数据复制源端信息

配置数据复制源端信息 

配置数据复制源端信息

 

进入多域数据复制管理页面,点击【+新建】进入“新建任务”的配置页面,配置以下参数信息:

1)配置基本任务信息


元素名称 元素说明 限制条件
*任务名称 设置多域数据复制任务的名称 • ≤32字符,且不允许为空或重名;
• 允许包含~`@#&*()-+=_{}’,<>/特殊字符,但不允许以其开头
备注 设置任务的备注信息 • ≤255字符

2)配置数据复制源端参数

配置参数说明如下:

本地集群:设置数据复制源端是否为本地集群,通过点击“开启”或“关闭”按钮进行控制,具体说明如下:

• 按钮处于“”(即开启)状态时,表明复制任务的数据来源为AnyRobot的默认本地集群,系统已内置本地集群地址等参数,无需手动配置;

• 按钮处于“”(即关闭)状态时,表明需要复制的数据来源非本地集群。此种情况,需要继续配置下方关于源端集群主机的具体地址以及是否开启认证等参数。

说明:本地集群默认处于关闭状态。

*源集群主机地址按照'IP:port'或'host:port'的格式,输入需复制数据的源端集群主机的具体IP地址(或host name)和Kafka端口号。

注意:

1. 当本地集群处于“”(即关闭)状态时,此项可配置,且为必填项;

2. 输入格式为IP:port或host:port;

3. 支持输入多个主机地址,多个主机地址之间需要使用英文“,”隔开;

4. 若主机使用的是Kafka默认对外开放的端口,则此处端口号默认使用31000。

sasl认证:选择是否开启源端集群主机Kafka的SASL认证:

• 开启:
   • *用户名:开启sasl认证后,此项为必填项。需要输入源端集群主机部署Kafka时设置的用户名;
   • *密码:开启sasl认证后,此项为必填项。需要输入源端集群主机部署Kafka时设置的密码。
• 关闭:即表示不进行SASL认证。

注意:

1. 当本地集群处于“”(即关闭)状态时,此项可配置;

2.开启SASL认证可以让未经认证的客户端无法连接Kafka服务,保障Kafka的安全;

3. 默认开启SASL认证。

ssl认证:选择是否开启源端集群主机Kafka的SSL认证。

注意:

1. 当本地集群处于“”(即关闭)状态时,此项可配置;

2.客户端与Kafka服务端的SSL连接可以保证数据的加密传输,保障数据安全;

3. SSL认证默认为关闭状态。

3)配置数据复制目的端参数

配置参数说明如下:

本地集群:设置数据复制的目的端是否为本地集群,通过点击“开启”或“关闭”按钮进行控制,具体说明如下:

• 按钮处于“”(即开启)状态时,表明复制任务的复制目的端为AnyRobot的默认本地集群。系统已内置本地集群地址等参数,无需手动配置;

注意:当数据复制源端为”本地集群“时,目的端不可配置为”本地集群“。

• 按钮处于“”(即关闭)状态时,表明需要复制的数据目的端非本地集群。此时,需要继续配置下方关于目的端集群主机的地址及认证等参数信息。

*目标集群主机地址按照'IP:port'或'host:port'的格式,输入数据复制的目标集群主机IP地址(或host name)和Kafka端口号。

注意:

1. 当本地集群处于“”(即关闭)状态时,此项可配置,且为必填项;

2. 输入格式为IP:port或host:port;

3. 支持输入多个主机地址,多个主机地址之间需要使用英文“,”隔开;

4. 若主机使用的是Kafka默认对外开放的端口,则此处端口号默认使用31000。

sasl认证:选择是否开启目标集群主机Kafka的SASL认证:

• 开启:
   • *用户名:开启sasl认证后,此项为必填项。需要输入源集群/目标集群主机部署Kafka时设置的用户名;
   • *密码:开启sasl认证后,此项为必填项。需要输入源集群/目标集群主机部署Kafka时设置的密码。
• 关闭:表示不进行sasl认证。

注意:

1. 当本地集群处于“”(即关闭)状态时,此项可配置;

2.开启SASL认证可以让未经认证的客户端无法连接Kafka服务,保障Kafka的安全;

3. 默认开启SASL认证。

ssl认证:选择是否开启目标集群主机Kafka的SSL认证。

注意:

1. 当本地集群处于“”(即关闭)状态时,此项可配置;

2.客户端与Kafka服务端的SSL连接可以保证数据的加密传输,保障数据安全;

3. SSL认证默认为关闭状态。

4)配置数据复制策略

配置参数说明如下:

*数据来源类型:勾选数据复制源端的数据来源类型,支持设置以下三种类型的数据来源:

• 原始数据:表示复制任务将复制源端的原始数据,完成复制后,目的端可以留存并管理来自源端的原始数据;

• 解析后数据:表示复制任务将源端解析后的格式化数据传输并复制到目的端,可减少目的端数据处理的压力;

注意:当两个多域复制任务互为源端和目标端时,两任务的数据来源不能同时选择“解析后数据”,否则会导致循环复制!

• 自定义topic:当复制场景有明确的数据范围时,可在下方的"*自定义topics"文本框中填写正则表达式或topic名称以指定需复制的topic列表(通过键入回车键可添加多个自定义topic)。完成复制后,目的端可以留存并管理来自源端的自定义原始数据。

注意:
1. 当数据来源选择"自定义topic"时,topic不能为空;
2. topic输入格式需为string格式,不能为.*,不能以anyrobot_data-replicator,.*.ar.dr和__开头,且不能包含中文;
3. 支持配置多个topic,最多不能超过10个。
说明:
◆ 多域数据复制任务源端topic变动说明
AnyRobot会对“运行中”任务的源端topic变动情况进行轮询(时间间隔默认为10分钟):当源端需复制数据的topic发生变动时(如:新增或减少topic、新增topic的分区数),AnyRobot会在每次轮询时获取到topic的变动信息,并根据已配置的“复制开始策略”自动复制新增的topic及topic分区的数据;

• 针对“运行中”的任务,若您删除了此类任务关联的源端需复制的topic后,再重新创建同名topic,则会面临丢失数据的风险,请谨慎操作!

 ◆ 复制任务目的端数据类型说明

• 当数据来源选择“原始数据”时,若原始数据无数据类型,则数据复制到目的端后其数据类型为“kafka_topic”;

• 当数据来源选择“自定义topic”时,若原始数据无数据类型,则数据复制到目的端后其数据类型为源端Kafka的topic名称(即假设配置的自定义topic的名称为“abc”,则数据复制到目的端后其数据类型为“abc”)。

*数据范围:设置需要复制的数据范围,支持选择全部数据、部分数据。

• 全部数据:表示将复制所选数据类型涉及的所有索引库的数据;

• 部分数据:勾选“部分数据”后,需要进一步配置*数据来源,选择复制数据的具体来源索引库。
    • *数据来源:仅当数据范围选择“部分数据”时,此项可配置,且为必填项。点击【选择数据来源】,在弹出的配置窗口中勾选所需数据的具体来源索引库。

过滤条件:过滤条件默认为关闭状态。开启后,您可以基于“host”字段配置过滤条件,筛选出需要复制的数据来源。过滤条件包括:筛选字段、运算符、有效值类型、目标值。其中,当前支持添加的运算符包括:等于、不等于、相似、不相似、属于、不属于、正则。下文将以某一数据集为例,对基于不同运算符进行过滤的匹配规则进行说明,具体如下:

假设需要复制的来源数据集中,host字段存储了主机的名称,数据集示例如下:

host
webserver
dbserver
mailserver
apiserver

• 过滤字段:表示需要进行过滤的字段名称,点击下拉框,在已配置的来源字段中进行选择,当前仅支持配置“host”字段。

运算符:过滤条件中使用的逻辑运算符,当字段值与目标值满足此处指定的逻辑关系时,命中此过滤条件。点击下拉框,支持配置以下操作符:

• 等于:左侧“host”字段的值与右侧配置的目标值完全相等时,命中此过滤条件。例如,过滤条件为“host = webserver”,表示只选择数据集中host字段值为webserver的数据,即:

host
webserver

注意:右侧配置的目标值需为单个值,不能为数组。否则无法实现精确相等的判定。

• 不等于:左侧“host”字段的值与右侧配置的目标值不相等时,命中此过滤条件。例如,过滤条件为“host ≠ webserver”,表示只选择数据集中host字段值为dbservermailserverapiserver的数据,即:
host
dbserver
mailserver
apiserver

注意:右侧配置的目标值需为单个值,不能为数组。否则无法实现精确不相等的判定。

• 属于:左侧“host”字段的值属于右侧配置的目标值数组时,命中此过滤条件。例如,过滤条件为“host in [webserver、dbserver、apiserver]”,表示任务将复制来源数据集中host字段值为webserverdbserverapiserver的数据,即:
host
webserver
dbserver
apiserver

注意:右侧配置的目标值需为一个或多个相同类型的值组成的数组。

• 不属于:左侧“host”字段的值不在右侧配置的目标值数组中时,命中此过滤条件。例如,过滤条件为“host not_in [webserver、dbserver、apiserver]”时,表示任务将复制来源数据集中host字段值为mailserver的数据,即:
host
mailserver

注意:右侧配置的目标值需为一个或多个相同类型的值组成的数组。

• 相似:当左侧“host”字段值存在与右侧字符串相似的子串时,命中此过滤条件;例如,过滤条件为“host like ‘web%’“,表示该任务将会复制host字段值以 "web" 开头的数据,即复制host字段值为webserver的数据,即:
host
webserver
 

注意:右侧配置的目标值需为字符串。

• 不相似:当左侧“host”字段值不存在与右侧字符串相似的子串,命中此过滤条件;例如,当查询条件为 "host not_like ‘%api%’",则该任务将会复制host字段值不包含 "api" 的数据,即复制host字段值为webserverdbservermailserver的数据,即:
host
webserver
dbserver
mailserver

注意:右侧配置的目标值需为字符串。

• 正则:左侧“host”字段的值应用右侧配置正则表达式进行过滤。例如,查询条件为 “host regex ’^web‘“,则该任务将复制符合host字段值以 "web" 开头的数据,表示任务将复制来源数据集中host字段值为webserver的数据。
host
webserver

有效值类型:表示过滤条件中,用于与左侧字段值比较的目标值的数据类型,当前仅支持"常量",即过滤条件直接使用指定常量值作为目标值,而非从数据集或其他字段中提取的值。

目标值:表示过滤条件中用于与左侧配置的字段值比较的目标值。

› 添加多个过滤条件

点击过滤条件下方的”+添加过滤条件“,即可添加多个过滤条件。多个过滤条件之间支持配置“且”、“或”的逻辑关系,点击过滤条件左侧的“”按钮,即可切换。点击过滤条件尾部的““按钮,即可删除对应过滤条件。

注意:当前仅支持添加基于“host”字段的过滤条件;支持添加多个过滤条件,最多可以添加10个;

有效值类型:表示过滤条件中,与左侧host字段值比较的目标值的数据类型,当前仅支持"常量",即过滤条件直接使用指定的常量作为目标值,而非从数据集或其他字段中提取的值。

目标值:表示过滤条件中,用于与左侧host字段值比较的目标值。

*复制开始策略:设置复制任务的数据复制起点,点击即可配置“从最新的数据开始”复制或“从最早的数据开始”复制,具体如下:

• 从最新的数据开始:复制任务将从源端Kafka的最新的数据开始复制,即复制到目的端的数据不包括源端kafka缓冲中的数据;
• 从最早的数据开始:复制任务将从源端Kafka的最早的数据开始复制,即从源端Kafka缓冲中最早时间的数据开始复制(Kafka 默认数据保留周期为 7 天)。

开始定时策略:设置是否定点、定时执行复制任务。通过点击开关按钮,开启或关闭定时复制策略。开关处于“”(即开启状态)时,需要具体配置定时策略,具体如下:

• 开启:开启定时策略后,系统将根据以下参数,在指定的时间点、持续时间内执行多域复制任务。

*执行周期:设置多域复制定时任务的开启时间。例如设置执行周期为“08:00”表示系统将在每天上午的8点开启多域复制任务;
*持续时间:设置多域复制任务开启后的持续时间。例如设置持续时间为“4”表示系统开启多域复制任务后,任务将持续执行4小时。

• 关闭:关闭定时复制时,系统默认全天执行多域复制任务,即实时复制。

开启限速策略:设置是否限制复制任务的传输速度上限。通过点击开关按钮,开启或关闭复制限速策略。开关处于“”(即开启状态)时,需要具体配置速度上限,具体如下:

• 开启:开启限速策略后,需填写" *限速大小”(单位MiB /s)设置速度上限,系统将基于此限制复制任务的网络传输速度。

• 关闭:默认情况下不开启限速策略,即系统默认不对复制任务的网络传输速度予以限制。

 提示:建议您在网络高峰期带宽资源有限的情况下开启此功能,以保证其他业务的正常运行。

* CPU限额:设置允许此复制任务占用的CPU资源上限,默认为1(单位C)。

注意:输入的限额数值应为整数,需>0且≤8,单位为C。

提示:建议您根据并行的复制任务数量以及集群的CPU资源使用情况调整此任务占用的CPU资源上限,以保证多任务正常运行的同时实现资源的合理利用。

*内存限额:设置允许此复制任务占用的内存资源上限,默认为2048(单位MiB)

注意:输入的限额数值应为整数,需>0且≤8192,单位为MiB。

提示:建议您根据并行的复制任务数量以及集群的内存资源使用情况调整此任务占用的内存资源上限,以保证多任务正常运行的同时实现资源的合理利用。

完成上述参数配置后,点击【保存】完成多域数据复制任务的创建操作,进入多域数据复制列表页面。

注意:
1. 每个任务中的“源集群主机地址”和“目标集群主机地址”这一集群对是唯一的;当已存在相同集群对的任务时,则该任务无法保存;

2. 若源端或目标端的Kafka开启了SASL认证,则之前创建的多域数据复制任务需编辑配置后才可继续正常复制数据;

3. 任务数量上限为10个。

› 查看/编辑/删除多域数据复制任务

» 查看多域数据复制任务

• 查看多域数据复制任务详情

在多域数据复制列表页面,点击右侧【查看】,在页面右侧抽屉弹窗中可查看此任务详情,包括任务名称、最近更新时间、任务状态等信息,如下所示:

• 开启/关闭多域数据复制任务

进入多域数据复制任务列表页面,点击“启用”列的“”按钮即可关闭复制任务;任务处于失败或关闭状态时,点击启用列的“”按钮即可重新开始复制任务,如下所示:

• 基于多域数据复制任务状态,筛选查看

在多域数据复制列表页面,点击在下拉菜单中选择一种状态,点击确定,即可看到此种状态下的任务列表,如下所示:

注意:

1. 任务状态可以显示当前各多域数据复制任务的执行状态,有运行中、休眠中、关闭及失败四种状态:

• 运行中:表示此复制任务正在执行过程中;

• 休眠中:表示此复制任务已开启定时复制,但还未到执行周期的任务;

• 关闭:表示此复制任务处于关闭状态,未执行数据复制动作。开启后,可以按照任务配置信息执行数据复制;

• 失败:表示此复制任务在执行过程中遇到了错误或异常,无法正常进行数据复制。

2. 当任务状态为“失败”时,失败详情可通过点击右侧【查看】后在弹出的详情页中查看,若出现以下类似情况,则为源端或目的端 Kafka连接失败,需排查Kafka连通性问题:

异常详情 异常原因
{"error_code":"DataReplicator.InternalError.KafkaInternalError","description":"服务器内部错误(kafka)","error_link":"","solution":"","error_details":"Failed to create sinkTopic, Local: Broker transport failure"} 目的端创建topic失败
Fatal error: Local: Broker transport failure 数据复制过程中,源端/目的端Kafka连接失败
Fatal error: Local: Timed out 数据复制过程中,源端/目的端Kafka连接超时
Local:Message timed out 往目的端发送消息超时

» 编辑多域数据复制任务

在多域数据复制列表页面,点击右侧【编辑】,进入编辑任务界面,可对任务名称、源集群地址、目标集群地址、高级设置进行编辑修改。

» 删除多域数据复制任务

在多域数据复制列表页面,点击右侧【删除】,即可删除此任务。