nebulaGraph2.0.1用spark 导入数据,中途发现有部分storage节点挂了,这样导入数据回有问题吗

为了降低OOM的风险,我们想把 Storage 和 Meta 的内存调大些,请问我需要修改Storage 和 Meta 的哪些配置项呢?

可否解答一下预防OOM,我们可以调整 Storage 和 Meta 的哪些配置项

为了降低OOM的风险,我们想把 Storage 和 Meta 的内存调大些,请问我需要修改Storage 和 Meta 的哪些配置项呢,可否解答一下预防OOM,我们可以调整 Storage 和 Meta 的哪些配置项

是的,不能随便挂服务。相关的 PR 正在开发中,可能还要一段时间。
之后会提供两种一些预防 OOM 的方式:

  • 允许用户配置系统内存水位,超过水位阈值后,nebula 的服务进程会停止当前查询
  • 允许用户配置进程级内存限制,比如 storaged 进程只允许使用 1G 内存,超过后会停止当前查询

内存方面的优化也正在做,解决这个问题还是要减少 nebula 进程的内存膨胀,比如优化执行计划和物理算子。

目前的话,尽量给进程更多的内存是一种预防方案,不过如果数据量确实很大还是建议优化语句,比如避免全表扫、多个语句完成业务功能等。

配置方面,graphd 的配置项 system_memory_high_watermark_ratio 可以设置内存水位,可以一定程度上预防 graphd oom 或者并发场景 oom。storaged 配置项 rocksdb_block_cache 调大会提升性能,但也会增加 oom 风险。

目前,内存问题和相关的优化是开发的一个重点,可以关注后续的版本发布。