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

简介: YashanDB知识库

问题描述

详细版本: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/%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0.html

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

相关文章
|
1月前
|
Oracle 关系型数据库 Java
【YashanDB知识库】Mybatis-Plus适配崖山配置
【YashanDB知识库】Mybatis-Plus适配崖山配置
|
17天前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
1月前
|
Java 数据库连接 数据库
【YashanDB知识库】WAS配置YashanDB JDBC连接
【YashanDB知识库】WAS配置YashanDB JDBC连接
|
10天前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
55 12
|
25天前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
13天前
|
监控 数据库
【YashanDB 知识库】ycm 托管数据库时报错 OM host ip:127.0.0.1 is not support join to YCM
在托管数据库时,若 OM 的 IP 被设置为 127.0.0.1,将导致无法托管至 YCM,并使数据库失去监控。此问题源于安装时修改了 OM 的监听 IP。解决方法包括:将 OM 的 IP 修改为本机实际 IP 或 0.0.0.0,同时更新 env 文件及 yasom 后台数据库中的相关配置。经验总结指出,应避免非必要的后台 IP 修改,且数据库安装需遵循规范,不使用仅限本机访问的 IP(如 127.0.0.1)。
|
1月前
|
SQL DataX HIVE
【YashanDB知识库】DataX迁移Hive到崖山分布式
本文来自YashanDB官网,介绍通过DataX将Hive数据迁移到YashanDB的实现方法。源环境为Hive 3.1.3,目标为YashanDB 23.2.3.100。文章提供了Hive与YashanDB的建表脚本、数据类型映射及DataX配置示例,包含reader和writer插件参数设置,并通过`datax.py`执行同步任务。内容详尽展示了数据迁移的全流程。
【YashanDB知识库】DataX迁移Hive到崖山分布式
|
13天前
|
监控 Java Shell
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
本文主要介绍了因数据库未按规范使用 yasboot 安装导致的问题及解决方法。问题表现为无 yasom 和 yasagent 进程,且目录结构缺失,致使 ycm 无法托管与监控。分析发现可能是数据库版本旧或安装不规范引起。解决方法为先生成配置文件,安装 yasom 和 yasagent,再生成并修改托管配置模板,最终通过命令完成托管至 yasom 和 ycm。总结强调了按规范安装数据库的重要性以避免类似问题。
|
25天前
|
SQL 网络安全 分布式数据库
YashanDB分布式部署
本文详细介绍了YashanDB在分布式环境下的安装与部署流程,以三台服务器为例(1个MN组、2个CN节点、1个DN组),涵盖主备配置。主要内容包括:生成部署文件(通过`yasboot package`命令)、执行安装、数据库部署、配置环境变量、检查安装结果等步骤。同时提供可选配置,如仲裁选主和用户管理,确保高可用性和性能优化。适合需要搭建分布式数据库集群的用户参考使用。
|
1月前
|
负载均衡 Java 数据库连接
【YashanDB知识库】透明故障转移配置指导
本文介绍了YashanDB的透明应用故障转移(TAF)功能,该功能可在数据库实例故障时自动重新连接到其他节点,保持连接一致性。同时新增了JDBC URL配置参数,包括`failover`、`failoverType`、`failoverMethod`、`failoverRetries`和`failoverDelay`,用于定制化故障转移行为。文章提供了单机、主备及负载均衡模式下的URL示例,并说明了非DBA用户角色的授权方法。
下一篇
oss创建bucket