首页 > 其他分享 >datax使用及优化

datax使用及优化

时间:2022-10-18 12:00:57浏览次数:42  
标签:限速 record job datax 使用 byte 优化 channel

datax概述
    datax定位:离线同步工具
    datax优势:
        1.单进程多线程,单机压力大
        2.理论上可以打满带宽
链接
    文档链接:https://github.com/alibaba/DataX
    下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202209/datax.tar.gz
datax组件概念:
    Reader:数据采集模块,负责采集数据,将数据发送给Framework
    Write:数据写入模块,负责向Framework取数据,将数据写入到目的端
    Framework:用于连接Reader、Write,作为两者数据的传输通道
        并处理缓冲、控流、并发、数据转换等问题
    Job:单个任务的管理节点,负责数据清理,子任务划分,task监控管理等
    Task:由job切分来,是最小作业单元,每个task负责一部分数据的同步工作
    Schedule:将Task组成TaskGroup,单个TaskGroup的并发数据为5
    TaskGroup:启动task
生成模板json
    cd /opt/datax/datax/bin/
    python3 ./datax.py -r streamreader -w streamwriter

    reader 列表:
        cassandrareader、datahubreader、drdsreader、ftpreader、gdbreader、
        hbase094xreader、hbase11xreader、hbase11xsqlreader、hbase20xsqlreader、
        hdfsreader、kingbaseesreader、loghubreader、mongodbreader、mysqlreader、
        oceanbasev10reader、odpsreader、opentsdbreader、oraclereader、ossreader、
        otsreader、otsstreamreader、postgresqlreader、rdbmsreader、sqlserverreader、
        starrocksreader、streamreader、tdenginereader、tsdbreader、txtfilereader
    writer 列表:
        adbpgwriter、adswriter、cassandrawriter、clickhousewriter、datahubwriter、
        drdswriter、elasticsearchwriter、ftpwriter、gdbwriter、hbase094xwriter、
        hbase11xsqlwriter、hbase11xwriter、hbase20xsqlwriter、hdfswriter、hologresjdbcwriter、
        kingbaseeswriter、kuduwriter、loghubwriter、mongodbwriter、mysqlwriter、
        oceanbasev10writer、ocswriter、odpswriter、oraclewriter、oscarwriter、
        osswriter、otswriter、postgresqlwriter、rdbmswriter、sqlserverwriter、
        starrockswriter、streamwriter、tdenginewriter、tsdbwriter、txtfilewriter
datax优化
    可修改配置:
        job.setting.speed.channel:channel并发数
        job.setting.speed.record:全局channel的record速率
        job.setting.speed.byte:全局channel的byte速率
            record、byte都设置以最小的为准,record、byte都没设置,以channel(优先级最低)为准
        core.transport.channel.speedrecord:单个channel的record限速
        core.transport.channel.speedbyte:单个channel的byte限速
    1.提升每个channel速度:
    2.datax内job的并发
        并发数=taskGroup数量*每个TaskGroup并发执行的Task数(5)
        方式一:channel个数=全局Byte限速/单Channel Byte限速
        方式二:channel个数=全局Record限速/单Channel Record限速
        方式三:直接限制channel个数=5
    3.提高JVM堆内存(4-8G)
        python3 ./datax.py --jvm="-Xms8G -Xmx8G"   //初始值和最大值相同避免内存抖动

标签:限速,record,job,datax,使用,byte,优化,channel
From: https://www.cnblogs.com/wuxiaolong4/p/16802158.html

相关文章