GrantD
2023 年11 月 15 日 10:10
#1
【 使用环境 】测试环境
【 OB or 其他组件 】observer
【 使用版本 】社区版4.2.1
【问题描述】csv文件数据有一亿两千多万行,用 LOAD DATA /*+ parallel(8) / INFILE ‘/data/aml/new_transactions.csv’ INTO TABLE transactions FIELDS TERMINATED BY ‘,’ IGNORE 1 LINES; 命令往表里导数据,每次都是导入1717200条数据后就报timeout异常
【复现路径】执行命令 LOAD DATA / + parallel(8) */ INFILE ‘/data/aml/new_transactions.csv’ INTO TABLE transactions FIELDS TERMINATED BY ‘,’ IGNORE 1 LINES;
【问题现象及影响】timeout异常退出,数据导入任务无法正常完成
【附件】
秃蛙
2023 年11 月 15 日 10:28
#3
ob_query_timeout
ob_trx_timeout
这2个超时参数调大点 试试
秃蛙
2023 年11 月 15 日 14:12
#5
系统租户执行 alter system set enable_rich_error_msg=true;
然后业务租户再执行导入sql
报错后会返回节点和trace串
去对应节点 grep trace串 observer.log* >> /tmp/ob_tmp.log
提供下ob_tmp.log
秃蛙
2023 年11 月 15 日 14:55
#7
ob_query_timeout 设置的是600s,10分钟。日志14:18执行的加载语句,28分钟未执行完成,超时符合预期。建议再调大该超时参数。
秃蛙
2023 年11 月 15 日 14:56
#8
GrantD
2023 年11 月 15 日 15:28
#9
使用旁路导入报server out of space错;但各节点磁盘空间还是有富余
这是trace log日志,请帮忙看一下:
ob_tmp.log.zip (362.0 KB)
秃蛙
2023 年11 月 15 日 15:35
#10
Server out of disk space(msg=“disk is almost full”, ret=-4184, required_size=2097152, required_count=1, free_count=1126, used_percent=90)
数据磁盘满了,可以增大diskfile_size 参数 调整数据磁盘预占用大小。
GrantD
2023 年11 月 15 日 15:45
#11
秃蛙:
/tmp/ob_tmp.log
安装oceanbase的时候data file没有用/data目录,现在/目录只有20G左右空间了,之前已经把datafile_size设置成20G了,有办法把集群各节点的datafile目录调整到/data目录下吗
秃蛙
2023 年11 月 15 日 16:00
#12
建议是重装下,目录重新规划,不然后续还会有容量规划问题。而且都在根目录下 数据、redo、日志等会有磁盘io资源争抢问题。
秃蛙
2023 年11 月 15 日 16:16
#14
方案1:
obd cluster destroy 部署名称 – 销毁集群
obd cluster deploy 部署新名称 -c 部署配置文件 – 重新部署
方案2:
obd cluster edit-config 部署名称 — 编辑当前配置,修改磁盘参数,保存后会提示进行obd cluster redeplay 操作进行重装。
注意:重装会清理数据库数据,请酌情操作。
GrantD
2023 年11 月 15 日 16:24
#15
前面把datafile_size设置成30G后重启了集群,但109节点 的size还是2G,请看一下这个问题:
秃蛙
2023 年11 月 15 日 16:30
#16
show parameters like ‘%datafile_size%’; 看下生效的参数值
GrantD
2023 年11 月 15 日 17:05
#18
如果使用方案2:obd cluster edit-config 部署名称,配置文件里怎么配datafile路径
秃蛙
2023 年11 月 15 日 17:15
#19
需要提供下109节点的observer.log日志 确认下未生效原因
秃蛙
2023 年11 月 15 日 17:20
#20
如果是all-in-one的安装包部署的 可以参考安装包中conf目录下的配置写法
如果是obd rpm包安装的 参看 /usr/obd/example目录下配置文件的写法
配置文件写法是一样的,只是不同方式安装存储路径不一样。
GrantD
2023 年11 月 15 日 17:29
#21
现在用obd cluster edit-config ,加了配置 data_dir: /data/oceanbase_data后,重新生成集群后109 datafile size正常了。
不过用旁路导入时,报错 ERROR 1172 (42000): Result consisted of more than one row