开发者社区> silencecxq> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DATAX工具同步数据从hdfs到drds性能优化

简介:
+关注继续查看

问题描述

在客户现场运维过程中,使用datax同步数据从hdfs到drds速度极其缓慢,因此希望进行datax的json文件进行优化,提升速度,同步缓慢及报错如下;fd0a8c8ead073bd604a2862f6717cf011158db67



问题分析

对于datax的使用问题,第一要素就要检查json文件的问题;

从同步的datax的日志及报错的tddl-4603来看,json文件是可以使用的,只是使用的参数设置有问题导致了4603的报错,也就是出现了跨库事务的存在;drds使用datax从hdfs同步数据过来,解析之后应该直接进入到对应的分库分表当中,为何会出现这种报错?

89d0d14d2aa348716ba42e81a73fd20b1cd712fc

检查json文件,我们发现如下:


532e1000195d33a250ab2bc2629219fe0407ae30

这里的drds导入的writer引擎竟然是mysqlwriter而非drdswriter引擎,经过咨询师兄,mysqlwriter不能用在drds目标的,否则就会出现跨库事物不支持;

由于drds本身是出现是有适用datax的drdswriter的引擎,所以修改引擎为drdswriter以后,重新执行datax同步任务,发现tddl-4603报错消失,同步速度从38k提升到200k;


c98f9ea17575d383cc92e5d52db285dca451537a

而此时200k速度,3000多行的导入速率依然太慢无法满足客户的需求;

故而还需继续分析优化其他参数来进行速度的提升;

这里涉及到的最直接的优化参数就是speed参数;

speed参数在这个场景有两种模式:

a、 channel模式:是并行的一个设置,设置并行切分任务数;

b、 bytes模式:限制单个任务速度上线;

而目前是由于速度根本上不去,并且测试了bytes以后根本不起作用,所以依旧选择使用channel;

对于数据writeMode写入模式,由于数据准备已经确定没有问题,没有必要进行导入校验,可以选择导入以后校验,故而用insert ignore替换了replace,并且添加了batchsize的缓冲大小再次进行测试

0fe79f6f0bab996b31ec2a403dbb23605aef1df2

如下为修改后的json文件模式;


f7c9a6157a14f3705d3f4ba98929ace94e06fb76

再次测试的结果如下:

89a56a40a58ce386c18b3501303f3a753d56f50b

速度从原来的200k提升到了1.7M,满足客户需求;

然后针对目前的情况略作微调进行压测如下:

340936ec0ea2fb6896197003d7b50a069f6e0cff

问题解决及建议

1、调整写入引擎从mysqlwriter到drdswriter引擎,避免夸库事务的存在;

2、调整writeMode写入模式从replace为insert ignore选择不进行数据检查模块,并增加batchsize参数,速度提升满足客户需求;

3、在此基础上进行微调,添加数据源参数及调整channel及batchsize等,得到最后参数设置及速度情况;


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
「开源人说」|基于开源PolarDB-X打造中正智能身份认证业务数据基座
在10月25日由阿里云开发者社区、PolarDB开源社区、infoQ联合举办的「开源人说」第三期——《数据库PolarDB专场》沙龙上,中正智能科技有限公司平台软件部研发总监韩毅带来了主题为《基于开源PolarDB-X打造中正智能身份认证业务数据基座》的精彩分享。
0 0
EMQ
MQX + PolarDB-X 构建一站式物联网数据解决方案
本文详细介绍了如何使用开源分布式物联网MQTT消息服务器EMQX与云原生分布式数据库PolarDB-X打造集成方案,以实现关键物联网数据的一站式采集、传输、存储。
0 0
直播预告 | PolarDB-X 动手实践系列—— PolarDB-X on OSS 冷热数据分离存储
PolarDB-X的冷数据归档功能可以自动从源表中剥离出冷数据,归档至更低成本的OSS中。归档表支持高效的主键与索引点查、复杂分析型查询,满足高可用、MySQL兼容性和任意时间点闪回等特性,也可以用开源大数据产品接入OSS的归档数据。本期分享将介绍OSS冷数据归档功能,并简单介绍背后的设计思路及技术原理。
0 0
EMQX + PolarDB-X 一站式 IoT 数据解决方案
本文整理自 EMQX 产品经理李国伟,在PolarDB开源社区中关于EMQX与PolarDB-X构建一站式IoT数据解决方案的分享。本篇内容主要分为四个部分:1. IoT数据特性 2. EMQX介绍 3. EMQX与PolarDB-X集成 4. EMQX+PolarDB-X方案DEMO。
0 0
直播预告 | EMQX + PolarDB-X 一站式 IoT 数据解决方案
本次分享将由 EMQX 产品经理李国伟带来EMQX + PolarDB-X 一站式 IoT 数据解决方案的介绍,包括 IoT 数据特性以及如何根据数据特性进行数据存储数据库选型,EMQX 开源项目与功能特性介绍,如何通过 EMQX 通过规则引擎与共享订阅功能实现 IoT 数据与 PolarDB-X 集成,最后通过 DEMO 演示如何搭建此数据集成方案。
0 0
体验PolarDB-X与Flink搭建实时数据大屏
体验PolarDB-X与Flink搭建实时数据大屏
0 0
体验有奖:使用PolarDB-X与Flink搭建实时数据大屏
场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作带您体验如何使用PolarDB-X与Flink搭建一个实时数据链路,模拟阿里巴巴双十一GMV大屏。
0 0
使用PolarDB-X与Flink搭建实时数据大屏
场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作带您体验如何使用PolarDB-X与Flink搭建一个实时数据链路,模拟阿里巴巴双十一GMV大屏。
0 0
PolarDB-X on OSS冷热数据分离开源版正式发布
本文作者:燧木、七锋架构简介PolarDB-X 采用 Shared-nothing 与存储分离计算架构进行设计,系统由4个核心组件组成。计算节点(CN, Compute Node)计算节点是系统的入口,采用无状态设计,包括 SQL 解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务 2PC 协调、全局二级索引维护等,同时提供 SQL 限流、三权分立等企业级特性。存储节
0 0
[版本更新] PolarDB-X on OSS 提供冷热数据分离存储
4月底,PolarDB-X正式发布2.1.1 版本,重点推出冷热数据新特性,可以支持业务表的数据按照数据特性分别存储在不同的存储介质上,比如将冷数据存储到Aliyun OSS对象存储上。
0 0
+关注
silencecxq
一路行走的云上小小牧师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PolarDB-X 2.0核心技术能力解读
立即下载
PolarDB-X 基于 X-Paxos 一致性协议的高可用
立即下载
PolarDB-X (开源版)从入门到实战
立即下载