首页 > 数据库 >【YashanDB知识库】用yasldr配置Bulkload模式作单线程迁移300G的业务数据到分布式数据库,迁移任务频繁出错

【YashanDB知识库】用yasldr配置Bulkload模式作单线程迁移300G的业务数据到分布式数据库,迁移任务频繁出错

时间:2024-12-17 17:52:52浏览次数:8  
标签:300G yasldr YashanDB 配置 PERCENT 导入 线程 迁移 COLUMNAR

问题描述

详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237

影响范围

离线数据迁移场景,影响业务数据入库。

外场将部分NewCIS的报表业务放到分布式数据库,验证SQL性能水平。

操作系统环境配置

125G内存

32C CPU

2T的HDD磁盘

问题出现的步骤/操作

1、部署崖山分布式数据库 1mm 1cn 3dn

单线启动yasldr数据迁移任务,设置32线程的bulk load模式

2、观察yasldr.log 是否出现如下错误

failed to allocate 6812396 bytes memory quota for init bulkload quota

问题分析

BULKLOAD导入过程中所有导入线程的最大可用内存按如下公式配置:

COLUMNAR_MATERIAL_PERCENT * COLUMNAR_VM_BUFFER_SIZE * BULKLOAD_MAX_MEM_PERCENT

相应参数配置

COLUMNAR_VM_BUFFER_SIZE = 19375M

COLUMNAR_MATERIAL_PERCENT = 80 //没有配置,使用默认配置

BULKLOAD_MAX_MEM_PERCENT = 80 //没有配置,使用默认配置

导入线程的最大可用内存: 80% * 19375M * 80% = 12400M

yasldr进程数(8个)和线程数(32线程),总线程数量: 8 * 32 = 256

平均每个线程的可用内存: 12400M/256 = 48.4375 M

已知配置参数:COLUMNAR_BULK_SIZE = 4096 //指定列存计算每批次记录行数

每行记录如果有20K,就超过平均值,资源变成紧张。

规避方法

1、减小导入线程

2、调大相关内存配置(COLUMNAR_MATERIAL_PERCENT/COLUMNAR_VM_BUFFER_SIZE /BULKLOAD_MAX_MEM_PERCENT)

为保证导入不因内存不足报错,请至少保证每个服务端导入线程内存最小为300M。

可以通过视图dV$bulkloadStat观察bulkload导入的情况

https://doc.yashandb.com/yashandb/23.2/zh/参考手册/配置参数.html

文档中配置参数有详细说明

标签:300G,yasldr,YashanDB,配置,PERCENT,导入,线程,迁移,COLUMNAR
From: https://www.cnblogs.com/YashanDB/p/18613139

相关文章

  • 【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
    【问题分类】功能使用【关键字】char,char(1)【问题描述】MySQL迁移至崖山环境,字段类型源端和目标端都为char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格【问题原因分析】mysql有sql_mode控制,检查是否启用了PAD_CHAR_TO_FULL_LENGTHSQL模式。如果启用......
  • 【YashanDB知识库】kettle同步PG至崖山提示no encryption pg_hba.conf记录
    【问题分类】数据导入导出【关键字】数据同步,kettle,数据迁移,pg_hba.conf【问题描述】使用kettle同步postgresql至崖山数据库时提示以下报错信息:【问题原因分析】pg_hba.conf文件中没有正确配置允许从IP地址连接到数据库的规则。pg_hba.conf文件是PostgreSQL中用于控制......
  • 【YashanDB知识库】kettle同步大表提示java内存溢出
    【问题分类】数据导入导出【关键字】数据同步,kettle,数据迁移,java内存溢出【问题描述】kettle同步大表提示ERROR:couldnotcreatethejavavirtualmachine!【问题原因分析】java内存溢出【解决/规避方法】①增加JVM的堆内存大小。编辑Spoon.bat,增加堆大小到2GB,如:if"%PENTA......
  • Win10 wsl 迁移到 D 盘
    wsl关闭wsl--shutdown查看系统wsl--list导出tar文件wsl--exportUbuntu-24.04D:/export.tar删除C盘的虚拟机wsl--unregisterUbuntu-24.04导入新的虚拟机wsl--importUbuntu-24.04D:\wsl\D:\export.tar--version2查看状态https:/......
  • GitHub项目迁移到GitLab
    GitHub项目迁移到GitLab1.克隆GitHub项目到本地[root@gitclient~]#mkdirgitrepos[root@gitclient~]#cdgitrepos[root@gitclientgitrepos]#gitinit.hint:Using'master'asthenamefortheinitialbranch.Thisdefaultbranchnamehint:issubjecttochan......
  • APIsix 实操秘籍:部署迁移实战篇(下)
    接上篇:《APIsix实操秘籍:基础概念入门篇(上)》链接:link文章目录2、核心概念2.2、关键术语2.3、APIsix配置文件3、开启APIsix之旅3.1、APISIX网关高可用部署架构图3.2、裸金属部署3.3、Docker部署3.4、Helm部署apisix3.5、升级迁移指南3.6、常规插件2、核心概念2......
  • .NET8升级.NET9,CodeFirst模式迁移Add-Migration执行Update-DataBase报错
    在做netcore开发时,如果net8一直是正常的,只升级了一下框架net9,在使用EntityFrameworkCore的CodeFirst模式进行迁移时,执行Add-Migration后尝试使用Update-DataBase时出现了如下错误。Unhandledexception.System.InvalidOperationException:Anerrorwasgeneratedforwarni......
  • 如何实现数据库的不停服迁移?
    数据库的“不停服迁移”指的是在不中断数据库服务的情况下,将数据库的数据从一个实例迁移到另一个实例,保证系统持续对外提供服务。这种迁移通常涉及数据的平滑过渡、最小化系统停机时间以及确保数据的一致性。实现不停服迁移的过程复杂,通常需要考虑以下几个方面:实现不停服迁移的关......
  • PbootCMS网站迁移后无法打开,报错“No input file specified”,如何解决?
    当PbootCMS网站迁移后遇到“Noinputfilespecified”的错误提示时,通常是由于服务器配置或文件权限的问题导致的。以下是详细的解决步骤和注意事项:检查.user.ini文件:进入网站的根目录,查找是否存在.user.ini文件。如果存在.user.ini文件,尝试删除它。这个文件有时会干扰服务......
  • AnyBimanual:将单手策略迁移至普通的双手操作
    24年12月来自清华和南洋理工的论文“AnyBimanual:TransferringUnimanualPolicyforGeneralBimanualManipulation”。执行普通语言条件下的双手操作任务,对于从家政服务到工业装配等许多应用都非常重要。然而,由于动作空间高维,收集双手操作数据的成本很高,这对处理一般双......