开云(中国)Kaiyun·官方网站 - 登录入口下发到gnode的SQL数目-开云(中国)Kaiyun·官方网站 - 登录入口

栏目分类
新闻

你的位置:开云(中国)Kaiyun·官方网站 - 登录入口 > 新闻 > 开云(中国)Kaiyun·官方网站 - 登录入口下发到gnode的SQL数目-开云(中国)Kaiyun·官方网站 - 登录入口

开云(中国)Kaiyun·官方网站 - 登录入口下发到gnode的SQL数目-开云(中国)Kaiyun·官方网站 - 登录入口

发布日期:2024-10-15 05:32    点击次数:101

开云(中国)Kaiyun·官方网站 - 登录入口下发到gnode的SQL数目-开云(中国)Kaiyun·官方网站 - 登录入口

原文指导:https://www.gbase.cn/community/post/4649更多精彩本体尽在南大通用GBase本领社区开云(中国)Kaiyun·官方网站 - 登录入口,南大通用力图于于成为用户最相信的数据库居品供应商。

综合

本文对GBase 8a集群的加载功能模块从旨趣和架构两方面进行证实,提供加载性能参数调优决策和kafka数据源的加载导出决策,为用户了解和使用GBase 8a加载功能提供参考。

功能特点

GBase 8a集群加载撑抓腹地文献、ftp/sftp、http/https、hdfs、kafka、S3等常用数据源;撑抓使用平文本、avro/orc(未release)文献方法进行加载;撑抓使用压缩方法gzip、snnapy、lzo进行加载;撑抓浅显文本、定长、宽松加载花式;撑抓kerberos认证,多namenode高可用。撑抓多表、单表并行加载,多数据源并行加载;撑抓多点传输,多节点并行数据理会,单节点多线程并行。

架构及旨趣

GBase 8a加载功能架构图如下:

1、数据加载SQL下发,gcluster接管SQL任务2.1、gcluster理会URL生成具体的源数据文献列表2.2、gcluster按gnode加载节点数目等分源数据文献。如15G数据文献等分3个加载节点时,gcluster进行数据切分,每个加载节点5G加载任务。完成数据切分后,gcluster给gnode加载节点下发加载SQL任务。3、gnode接管加载SQL任务后,去文献劳动器上读取指定数据。3.1、gnode对读取到的加载数据进行理会。3.2.1、将正当数据按表和hash列分派归入对应表分片的DC中。3.2.2、gnode将DC压缩文献转发到对应的主分片节点上3.2.3、主分片gnode节点将收到的dc文献拼装好后实时转发到副本节点上

加载性能调优

GBase 8a采选多点传输本领,集群中的每个节点均参与数据的理会和加载,且加载性能不错跟着集群节点数的加多线性推广,通过加载性能调优,仅使用8台劳动器即达到33TB/小时的加载速率。

加载性能磋商参数

gcluster_loader_max_data_processors证实:单个加载任务并行加载机的个数默许值:16调优值:在加载并发较高、集群节点较多场景下保举建设为4~8gbase_loader_parallel_degree证实:data节点践诺单个加载任务的并行度默许值:0,使用CPU核数一半,当修复值大于线程池数目时,则使用线程池数目。调优值:建设为4~6。不错通过set神情修复,也不错使用PARALLEL在加载语句中指定。_gbase_dc_sync_size证实:数据文献磁盘落地大小默许值:1TB调优值:当存在data节点磁盘IO沉重、加载性能渐渐、CPU资源欺诈底时,可调小该参数,保举10Mgbase_parallel_max_thread_in_pool证实:线程池中的线程总和,用于建设线程池大小。默许值:CPU核数的2倍调优值:在每个劳动器上部署1个gnode节点的情况下保举该建设为CPU核数的4~8倍。gcluster_enable_serial_load、gcluster_serial_exec_query证实:按捺任务并发数,调优值:开启gcluster_enable_serial_load参数后,每个gcluster节点不错下发gcluster_serial_exec_query个SQL任务(select、insert select、load等),主要按捺并发时,下发到gnode的SQL数目,超事后列队。gbase_loader_max_line_length证实:超长行大小默许值:4M调优值:当数据文献中存在跨越4M大小的行时,加载任务会报错中断,加多该值不错跳过该行连接加载,跨越4M的数据保存在errdata中gbase_loader_read_timeout证实:数据文献读取超时,读取ftp/http/sftp文献超时的时间修复默许值:300秒,0无按捺。调优值:当集群负载较高、数据源IO或鸠合较差时,调大该参数可幸免数据源读取超时报错数据源劳动器参数如ftp/sftp并发走访数、端口数等,具体问题具体分析数据源并发数评估集群最大并发加载任务数为N,单加载任务最大加载机数(max_data_processors)为M时,数据源保举的并发数不低于M*N。

分块加载

分块加载旨趣:gcluster文献切分是用URL默示的多个逻辑块,交由多个data节点并行加载,文献劳动器并子虚际进行文献切分。8a加载按行科罚,data节点对分派给我方的逻辑块数据逐行进行加载,摈弃起原属于前一个节点的数据(第一个换行符前),以及读取扫尾完满的数据行(直到下一节点的第一个换行符为止)加载数据量:一次加载撑抓读取和科罚的数据量大小与以下参数磋商:

gbase_loader_buffer_count证实:加载使用内存块数。data节点里面体恤一个内存链表。默许值:16gbase_loader_line_length证实:各内存块大小。data节点从数据源一次性读取4M大小的数据本体放到内存链表中进行后续科罚默许值:4M

分块加载使用场景:关于不同使用场景,可纯真疗养分块加载建设:

关于加载节点少,加载任务的数据总量大的使用场景,gcluster将一次加载任务中的数据总量按加载节点数等分给各个加载节点并行践诺,能大幅普及加载性能。关于加载节点多,加载任务的数据总量小,幸免对数据切块粒度太小缩短加载性能,可通过以下参数调优:

gcluster_loader_min_chunk_size证实:修复大文献切块的最小粒度,范畴4M—128M,作用同加载SQL参数MIN_CHUNK_SIZE。默许值:64M,即小于128M的文献不进行切分。

以下使用场景践诺加载时不会对数据文献进行切分:1. 加载语句带参数NOSPLIT会关闭分块并行2. 加载语句有having lines separator大略format 53. 加载的文献是.gz大略.snappy压缩文献,漠视打包小文献关闭分块并行功能后,每个data节点科罚1个文献,如下图示。

负载平衡建设

GBase 8a撑抓负载平衡,字据任务数自动优选加载节点,提供以下参数建设加载任务负载平衡,普及加载性能:

gcluster_loader_max_data_processors证实:集群中加载节点的数目,同加载SQL参数MAX_DATA_PROCESSORS取值范畴:1-300默许值:16调优值:漠视4-6。gcluster_load_rebalance_seed证实:加载任务负载平衡按捺,集群中加载节点的遴荐神情可通过此参数微调默许值:5。调优值:加载任务就地遴荐践诺任务数最少的几个data节点动作数据加载节点。在加载并发较多场景下,不错适宜加多该值,从而加多得志加载机条目的data节点个数。

示例:在12个data节点集群中,MAX_DATA_PROCESSORS=4的情况下,一次加载任务会就地遴荐不跨越四个data节点动作加载机。如若gcluster_load_rebalance_seed值为5,集群中通盘data节点的最小任务数为20,则通盘任务数<=25的data节点都可供本次加载任务就地遴荐为加载节点;关联词<=25的节点个数不及四个时,则使用得志该要求的几个节点动作加载机,因此不错调大rebalance_seed参数值来扩大可选加载机的范畴,但不时不跨越10。

加载情状监控

GBase 8a提供检验加载情状和加载后果的系统表与日记,撑抓加载经由监控、后果查询、造作数据溯源。

加载情状信息检验:加载任务启动后,可通过SQL神情检验本次加载任务的情状信息。情状信息表information_schema.load_status中记载正在初始的通盘加载任务的情状信息。加载后果:加载任务的后果信息存储在load_result.log文献中,不错通过information_schema.load_result系统视图检验。LOAD_RESULT表:记载刻下 coordinator 节点的加载信息CLUSTER_LOAD_RESULT表:记载通盘 coordinator 节点的加载信息留心:information_schema库的表查询都会占用内存,load_result表会话之间不分享,并发查询时每个会话会读取一份,load_result到我方的session内存中。加载贪图经由中及运维经由中需合理使用information_schema库表的查询,实时计帐烧毁日记。

加载接口开导

GBase 8a集群通过gccli用具、jdbc/.net开导接话柄践SQL语句加载数据,提供的开导接口包括:1、jdbc接口executeUpdate(loadSql) -- 践诺加载语句stmt.getSkippedLines() -- 获得跳过造作数据行数stmt.getLoadTaskID() -- 获得加载任务id2、ado.net接口cmd.ExecuteNonQuery() -- 践诺时间加载SQLcmd.RecordsSkipped -- 跳过造作数据行数cmd.RecordsTaskID -- 加载任务ID3、ODBC接口提供SQLROWCOUNT(hstmt,&rowCount)获得加载奏效行数SQLGetStmtAttr()中的SQL_RES_GBASE_LOAD_TASK_ID获得任务IDSQL_RES_LOAD_TASK_SKIPPED_LINES获得忽略行数4、Python API接口提供getInfo接口可获得奏效行数、忽略行数、任务ID三个信息

其它加载问题

数据加载文献的读写一致性

在使用freeNas等软件搭建数据文献劳动器时,漠视使用归并种文献走访接口,幸免对归并个数据文献同期使用NFS接口、FTP接口, 容易出现文献读写不一致问题。

加载SQL参数[MAX_BAD_RECORDS number]

证实:用于设定造作数据的行数上限。取值范畴:0~ 4294967295,0默示唯有有造作数据就报错退出,加载任务自动回滚。调优值:通盘集群节点孤立计较加载造作数目,一朝有一个节点加载时造作数据达到本按捺,则闭幕通盘节点的加载任务。集群加载提交之前检验总造作条数是否超出按捺,如若超出按捺,遗弃提交,报错退出。

多数小文献加载优化(862.33R39、953版块及以上)一般小于10M的文献为小文献,大于1G的文献为大文献。疏通数据量,文献个数越多,普及越多;相同大小的文献,文献个数越多,普及越多。疏通数据源复用鸠合皆集集群层,疏通目次文献滚动成文献通配神情批量获得文献大小,不同目次文献复用鸠合皆集

kafka数据集成

GBase 8a集群撑抓使用kafka集群动作数据源进行数据加载和导出,kafka数据源加载任务的磋商信息不错在gclusterdb系统库中表topicname_dbname_tbname里检验。

加载kafka集群中的文本数据SQL如下:

kafka://broker/topic[?duration=1000][#frombeginning]load data infile ‘kafka://192.168.146.20:9092/vct?duration=1000#frombeginning’ into table vc1.testdb.t

导出文本数据到kafka集群SQL如下:

kafka://broker1/topicname?[brokers=broker2|broker3|...][partition=pt1]select * from test.lineitem into outfile 'kafka://192.168.8.127:9092/test?brokers=192.168.8.127:9092|192.168.8.127:9093&partition=0' [OPTIONS]

Kafka broker高可用

GBase 8a撑抓建设Kafka的broker高可用,撑抓一套带kerberos认证功能的kafka集群动作加载数据源:1、在gcluster建设文献中添加参数:gcluster_kafka_brokers ‘192.168.146.20:9092,192.168.146.21:9092’2、重启gcluster劳动使其起效:gcluster_services all start

Kafka流式加载

GBase 8a通过剧本结束Kafka流式加载,如:

while true do load_sql doneload data infile ‘kafka://192.168.146.20:9092/topic1?duration=2000#frombeginning’ into table t;

原文指导:https://www.gbase.cn/community/post/4649更多精彩本体尽在南大通用GBase本领社区,南大通用力图于于成为用户最相信的数据库居品供应商。



上一篇:体育游戏app平台简直所有见识齐处于中等-开云(中国)Kaiyun·官方网站 - 登录入口

下一篇:欧洲杯体育适用于需求波动大的情况;包年包月则是预支费口头-开云(中国)Kaiyun·官方网站 - 登录入口

Powered by 开云(中国)Kaiyun·官方网站 - 登录入口 @2013-2022 RSS地图 HTML地图