1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.1.4 | - |
1.2 应用场景
由于 FineDataLink 中定时任务、管道任务和数据服务运行都需要占用内存和并发资源等,因此用户可能需要根据实际的使用情况进行任务调整。
1.3 功能说明
FineDataLink 提供对定时任务、管道任务、数据服务进行独立的资源控制。
允许用户在「管理系统>智能运维>负载管理」下的「负载分配」中进行资源控制。
注1:对于管道任务和定时任务,任务运行同时受内存和并发的限制,只要有一个不满足则任务报错或者提示。
注2:用户有「管理系统>智能运维」的使用权限,即可使用「负载管理」功能,详情请参见:负载管理使用权限
任务类型 | 设置项 | 设置逻辑 | 说明 |
---|---|---|---|
定时任务 | 内存限制 | 指定定时模块最大内存占用比例 | 控制并发同步表数 |
并发限制 | 指定最大并发数 | 控制并发同步最大的表数 | |
Spark内存限制 | Spark内存占用比例 注:默认占系统和组件预留内存的 75% | 影响计算复杂度和计算速度 | |
管道任务 | 内存限制 | 指定管道模块最大内存占用比例 | 控制并发同步表数 |
并发限制 | 指定最大并发数 | 控制并发同步表数 | |
数据服务 | 内存限制 注:暂不生效,待优化。 | 指定数据服务模块最大内存占用比例 | 控制并发量和单次返回数据量 |
2. 兼容说明
2.1 内存限制
4.1.4 版本升级前后「内存限制」变化如下:
独立部署中如果设置了「内存限制」,此配置失效,若需要再次修改内存限制,请联系技术支持。
2.2 并发控制
如果用户在 4.1.4 之前的版本进行了并发任务数的修改,则在升级后,原先的并发设置失效,需要重新在负载分配-并发控制中进行设置。
3. 内存分配
3.1 功能说明
用户可在内存分配下调整各个模块的内存占比。
序号 | 说明 |
---|---|
A | 显示单机环境总内存 显示能够进行开发、管道、服务任务配置的内存 注:可配置内存范围为总内存的10%-内存总量的60%,例如环境总内存为2G,则可配置的内存范围为 0.2-1.2G。 |
B | 数据开发可分配的内存量 |
C | 数据管道可分配的内存量 |
D | 数据服务可分配的内存量 |
E | 共享空间内存量,即绿色横条,如果单个模块使用内存超过配置上限,则可在共享空间竞争取用空间。 |
F | 可配置内存范围为总内存的10%-总内存的60% 且系统和组件预留内存空间为 40%总内存,因此表示可分配内存范围的上下限。 注:其中定时任务 Spark内存默认占系统和组件预留内存的 75%。 |
G |
注1:若为集群环境,则展示所有节点的可用内存。
注2:当前版本数据管道占用内存估算默认上限1G,估算超过1G也按1G来计算。
点击右上角的编辑按钮后即可拖动配置内存占比,如下图所示:
注:拖动共享空间时,三个模块是等比缩小的,但是单个模块最低为1%;拖动各模块时,就是只修改拖动条两边模块的大小。
3.2 使用场景
例如用户在运行定时任务时出现如下报错,表示超出内存限制:
此时需要调大「数据开发」模块的内存占比,如下图所示:
若用户在管道任务启动时,提示任务超出内存限制,如下图所示:
则可以使用内存分配,调大管道任务的内存比例。
4. 并发控制
4.1 功能说明
用户可在并发控制下调整「数据开发」和「数据管道」模块的任务并发数(下图的并发数并不代表模块内能同时跑的任务数,具体说明参考本节表格内容)。
序号 | 说明 |
---|---|
A | 显示 FineDataLink CPU 核数、可配置总并发数 注:总并发数为CPU 核数*N,N默认值是10。 若为集群环境,则展示所有节点的最大并发数,比如:节点1最大并发数Y;节点2最大并发数Y |
B | 可通过滑动调整并发数,每0.5为最小调节单位。 定时任务和管道任务的最大并发数可调节范围为: 0.5倍CPU核心数≤(管道+定时)并发数<=9.5倍CPU核心数 集群的情况下,展示各节点的CPU数,但是各个节点必须统一配置。 数据管道并发数:管道写入线程池默认占用 0.25*管道总并发数,最低为8;一个管道任务需要占用 4个并发数。 可用并发数为:分配的并发控制数-管道写入线程池占用并发数 例如管道一共30个线程,默认是8个,则剩余22个线程,且由于一个管道任务需要占用 4个并发数,因此还可以配置 5 个管道任务。 数据开发并发数: 实际执行的数据开发/数据转换/参数赋值的并发数,同时受数据开发/数据转换/参数赋值「线程池」和「并发控制」限制,取二者最小值。 数据开发/数据转换的线程池:默认值 1*数据开发总并发数 其他定时任务节点(SQL、Shell、bat和python节点)不会受并发控制的限制,它们只受自身线程池的限制。 |
点击右上角的编辑按钮后即可拖动配置最大并发数,如下图所示:
4.2 使用场景
例如在运行管道任务时,若超过内存限制,则在任务启动时进行提示,如下图所示:
此时可以通过配置并发控制调大管道并发数,如下图所示:
注:定时任务如果并发超出限制,则会在日志中进行提示,如下图所示: