南大通用GBase 8a集群加载的错误数据导出到指定ftp/sftp/服务器目录下

GBase 8a数据库集群,通过load方式从各种数据源加载入库,当出现数据与表不匹配时,将把数据保存到指定位置。老版本默认是保存到连接节点的日志目录下,而新版本提供了直接保存到sftp/ftp服务器目录下,减轻数据库本身的负担。

1、需要关闭日志汇总功能set global gbase_loader_logs_collect=0; 建议修改配置文件,避免服务重启时失效。
2、加载时,通过trace_path 指定服务器地址,

TRACE:用来指示本次加载是否保存错误数据溯源。如果指定为0,则不溯源。
如果指定为1,则进行溯源。默认值为1
溯源信息包括:错误数据所在的文件,所在行号。

TRACE_PATH:用来指定本次加载过程中产生的错误数据和日志存放路径。在禁
用日志汇总功能时,该参数才能起作用,默认值为加载节点的‚/opt/gnode/log/gbase/loader_logs‛中。

 load data infile 'http://192.168.153.32/1.txt' into table test_9 fields
terminated by '||' trace 1 TRACE_PATH '/home/gbase/test/';

 load data infile 'http://192.168.153.32/1.txt' into table test_9 fields
terminated by '||' trace 1 TRACE_PATH 'ftp://gbase:gbase123@192.168.20.291//home/gbase/test/';

注意,是将错误日志和错误数据,直接放在你指定的目录下,不再创建子目录。文件格式遵循老的标准task_id_库名_表名_分片_IP_时间


3、可以修改参数 gbase_loader_logs_dir, 指定新的ftp/sftp目录, 代替老的XXX/gcluster/log/loader_logs目录

set global gcluster_loader_logs_dir='ftp://gbase:gbase1234@192.168.250.201/loader_logs'

这样就不同每次都写trace_path了。当然如果长期生效,需要修改配置文件,避免下次重启时自动生效。

测试版本:V9.5.2.23
确认版本:V8.6.2.Build43.R20