在V8.6.1.1 版本GBase 8a MPP Cluster 中,集群加载功能直接集成在GBase 8aMPPCluster 内部,不需要额外部署外部加载工具。
与V8.5.1.2 版本集群加载工具相比,新版加载工具具备如下一些特性和优点:
1)与集群高度集成,方便部署;
2)提供面向用户的SQL 接口,集群和单机加载方式统一,更符合用户的使用习惯;
3)支持多加载机对单表的并行加载,最大化加载性能;
4)支持从通用数据服务器拉取数据,支持ftp/http/hdfs 等三种协议;
5)支持普通文本、gzip 压缩、snappy 压缩等多种格式数据文件;
6)支持普通文本与定长文本的加载(format 3 和format 4),并与V8.5.1.2版本格式兼容;
7)支持错误数据溯源功能,可以准确定位错误数据在源文件中的位置;
8)加载性能可以随着集群规模的扩展而持续提升。
1、select into outfile数据导出操作的服务端在gcluster客户端上,即6066端口(6066–6165轮询)在导出操作发起节点上用到;
2、导出端会发送gcluster客户端IP地址和端口号给集群各节点;
3、各节点将数据发送至gcluster客户端。等于说该操作不走集群的gcluster层,而是走客户端的gcluster。
集群加载时,集群节点上的gbloader主要是cpu负载较高,可以通过集群节点的cpu核数估算集群可以支持的并发加载任务总数。
1、保守估计(有查询等其他业务):
加载任务数=Cores/2/副本数
例如: 2副本(1主1备)集群,节点cpu为32核,则支持的加载任务数=32/2/2=8个。
2、如果只有加载几乎没有其他业务,可以适当放宽:
加载任务数=Cores / 1.5 / 副本数
例如: 2副本(1主1备)集群,节点cpu为32核,则支持的加载任务数=32/ 1.5 /2≈10个。
dispserver主要功能:
1、dispserver可根据命令执行相应的文件切分或复制操作。切分指的是将数据文件划分为若干条块,每个节点分配一个条块的数据;复制是指将全部数据分配给每个提出数据读取要求的节点。
2、dispserver可根据dispcli发来的打开文件或读取数据的命令执行相应的操作。dispcli的主要功能就是通知dispserver开始切分文件,并且通过gcluster启动集群节点上的gbloader,来读取dispserver端的数据进行导入。数据源文件和dispserver必须在同一台物理机器上,且必须打开监听dispserver服务端口的权限,dispcli所在的机器必须可以连接到dispserver所在的物理机器以及部署集群节点的物理机器,集群节点需要访问dispserver获取数据,不同网段无法获取数据,dispcli需要访问集群拓扑信息,所以也需要在同一个网络中。
2、dispserver可根据dispcli发来的打开文件或读取数据的命令执行相应的操作。dispcli的主要功能就是通知dispserver开始切分文件,并且通过gcluster启动集群节点上的gbloader,来读取dispserver端的数据进行导入。数据源文件和dispserver必须在同一台物理机器上,且必须打开监听dispserver服务端口的权限,dispcli所在的机器必须可以连接到dispserver所在的物理机器以及部署集群节点的物理机器,集群节点需要访问dispserver获取数据,不同网段无法获取数据,dispcli需要访问集群拓扑信息,所以也需要在同一个网络中。
dispserver dispcli gbloader网络部署要求:
dispserver、dispcli、gbloader必须在同一网段下进行部署,可以分别进行部署。dispserver部署在一台机器上,dispcli部署在另外一台机器上,两台机器必须和集群各节点在同一个网段环境下。
客户现场集群节点因硬件问题长期offline,在一个节点offline情况下,可以采用rmt:select方式进行数据的导出,导出结果正确。