美文网首页
neo4j 全量数据导入OOM问题解决

neo4j 全量数据导入OOM问题解决

作者: 暮丶晓 | 来源:发表于2021-01-04 10:36 被阅读0次

    在neo4j中有一个专门针对导入的命令neo4j-import(后期可能会删除,但是本文使用的neo4j版本较低,社区版3.4.5)

    可以用neo4j-admin命令代替:neo4j-admin import

    于是,当全量导入数据时,尤其是数据中存在着大量的无法关联的节点和无效的关系时,会导致jvm占用激增,然后导入速度变缓慢,jvm在持续的做full GC,一段时间后(可能比较长),就会报OOM错误

    ./neo4j-admin import \

    --nodes:xx ../import/xx_header.csv,../import/xx.csv \

    --relationships:yy  ../import/yy_header.csv,../import/yy.csv \

    .....

    --high-io \

     --ignore-missing-nodes=true \

    --ignore-extra-columns=true \

    即时添加参数max-memory也无法解决jvm的OOM

    --high-io \

    --max-memory=20G \

    --ignore-missing-nodes=true \

    只有设置jvm的大小,才能避免OOM

    默认的jvm大小是6G多(不知道是不是我们服务器的问题,又或者是默认的)

    设置jvm的堆大小,可通过变量JAVA_OPTS设定,才能真正的调整jvm的堆大小,避免OOM

    #!/bin/bash 

    export JAVA_OPTS='-server -Xms8g -Xmx15g'  

    sh /home/neo4j/neo4j/bin/neo4j-admin import \

    --nodes:xx ../import/xx_header.csv,../import/xx.csv \ 

    --relationships:yy  ../import/yy_header.csv,../import/yy.csv \

    .....

    --high-io \

    --max-memory=30G \

    --ignore-missing-nodes=true \           

    --ignore-extra-columns=true \ 

    相关文章

      网友评论

          本文标题:neo4j 全量数据导入OOM问题解决

          本文链接:https://www.haomeiwen.com/subject/gtimoktx.html