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方式进行数据的导出,导出结果正确。
GBase8a数据库提供了gcdump工具,用于导出数据库中表结构、存储过程及自定义函数,举例如下:
导出ssbm数据库中表结构、存储过程及自定义函数,输出内容中包含CREATE DATABASE语句。
[gbase@localhost ~]$/opt/gcluster/server/bin/gcdump -ugbase -pgbase20110531 -B -R ssbm >/home/gbase/ssbm.sql
-B 输出内容中包含'create database'的信息
-R 输出存储过程和函数
-t 不输出建表信息