使用importer导入大量CSV数据遇到的问题

提问之前,记得在【本论坛】和【文档】下搜索是否已有解决方案存在哟 ^^

为了更快地定位、解决问题,麻烦参考下面模版提问(不符合提问规范的问题,会被隐藏待补充相关信息之后再发布

提问参考模版:

  • nebula 版本:(为节省回复者核对版本信息的时间,首次发帖的版本信息记得以截图形式展示)
  • 部署方式(分布式):
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘 SSD
    • CPU、内存信息 8核32G内存
  • 问题的具体描述

在使用importer工具导入一个大概1G的点文件,一个11G的边文件,一个22G的边文件时,同时另一个项目使用go-cli也在往同一个集群中的另外一个图空间里大量的读写数据,然后就出现这个项目提交的写语句没有及时的更新数据,而是延迟了很久才更新成功。但是go-cli并没有收到任何报错信息

请问 “没有及时的更新数据” 的现象能详细描述一下么?

有 graphd,storaged, metad 的日志么?

正常来说,insert 完成之后是立马能查出数据,但是我的这次insert完成之后,并不能正确查出数据,我的项目就会一直打日志重试,然后在几个小时之后突然就正常查出数据,在这次insert过程go-cli并未收到任何错误信息,包括cli提交的错误以及graph返回的错误。

由于导入数据写了大量的日志,触发了运维的的自动任务,删除了部分日志,导致出问题那段时间的日志被删除了。

importer 导入的过程是大量并发写,虽然和你另一个项目不是同一个图空间,但是会共用系统资源比如网络带宽,磁盘 io。
然后因为不清楚你是否开启自动 compact,内存 page cache 的使用情况,如果开启自动 compact,page cache 又不够的情况下,有大量 io 读,io util 会比较高,但是应该不会过几个小时才正常的。几个建议:

  1. 尽量不要同时 importer 和业务系统大量读写在一个时间段,如果一定是需要一起的,调整 importer 的并发数和 batch 大小,调小一点。
  2. 给服务器装上监控,看一下网络带宽,磁盘 io,内存等,根据监控,再调整一下 importer 或者升级配置。
1 个赞

该话题在最后一个回复创建后30天后自动关闭。不再允许新的回复。