【发布时间】:2021-08-28 13:04:23
【问题描述】:
我一直在尝试搜索这个,但我似乎找不到可以解决内存限制和 OOM 的解决方案,我目前正在为我的工作开发一个搜索引擎,作为它的一部分,我们想要拥有一个用于 Purple 团队参与的信用填充搜索引擎。
json的格式是这样的,
[{
"email": "bob@bob.com",
"password": "123",
}]
我们有大约 600-700gb 的记录要导入 ElasticSearch,我尝试将数据拆分并在节点中对其进行循环,但我一直遇到资源问题。
【问题讨论】:
-
将数据分割成更小的块。处理完一个块后,确保对该块的所有引用都为空或超出范围(因此有资格进行垃圾收集。如果这本身还不够,那么在块之间用
setTimeout()暂停几秒钟给垃圾收集器一些运行时间。如果这还不够,请添加对global.gc()的调用(使用关联的命令行参数来启用它)。如果这还不够,那么我们需要查看实现最后一个选项。 -
是否需要与node一起使用或者你可以使用其他工具? Filebeat 和 Logstash 可以轻松做到这一点。
标签: node.js elasticsearch