Neo4j配置文件neo4j.conf

2023-04-27,,

机器配置为256G内存,48核(物理核24)cpu,4T SAS盘(建议磁盘使用SSD)

图数据库Neo4j配置文件neo4j.conf 中常用参数

dbms.active_database=graph.db  为指定安装目录data/databases下对应的数据库

dbms.memory.heap.initial_size=20g  为最小的堆大小

dbms.memory.heap.max_size=150g  为最大的堆大小

dbms.memory.pagecache.size=50g  为load数据到内存,进行缓存内存大小

内存分配:

默认配置文件情况下,2-4g用于操作系统,给JVM足够的堆来保存所有事务状态和查询上下文,然后将其余部分留给page cache。假定机器是专门运行neo4j的,默认page cache将其设置为50%的RAM减去最大的Java堆大小。page cache主要用于将数据从磁盘load到内存中进行缓存用。

我这边因为更多用于分析,会跑一些算法,查询语句比较复杂,所以堆内存大小设置150g,pagecache设置50g,根据自己实际需求调整。

dbms.connectors.default_listen_address=0.0.0.0         默认neo4j只接受本地连接,0.0.0.0监听所有端口,我这边没有设置这个,因为内网不同使用ssh本地转发,执行命令:ssh -g -fN -L 7687:localhost:7687 user@neo4j

dbms.shell.enabled=true        取消注释,启用neo4j shell server用于neo4j shell client去连接

dbms.shell.host=127.0.0.1       neo4j shell server监听的ip,默认127.0.0.1

dbms.shell.port =1337           neo4j shell server监听的端口,默认1337

dbms.security.procedures.unrestricted=algo.*,apoc.*           将algo和apoc算法引入

apoc扩展包JAR文件:https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/3.3.0.2
algo扩展包JAR文件:https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases
并将下载下来的jar文件移到安装目录下plugins目录下

重新启动Neo4j数据库服务后,运行以下命令预热数据库:

CALL apoc.warmup.run()
 

BTW:

ssh的三个强大的端口转发命令:

转发到远端:ssh -C -f -N -g -L 本地端口:目标IP:目标端口 用户名@目标IP

转发到本地:ssh -C -f -N -g –R 本地端口:目标IP:目标端口 用户名@目标IP

ssh -C -f -N -g -D listen_port user@Tunnel_Host

-C:压缩数据传输。

-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-N :不执行脚本或命令,通常与-f连用。

-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。

-L 本地端口:目标IP:目标端口

IBM网站上实战SSH端口转发:https://www.ibm.com/developerworks/cn/linux/l-cn-sshforward

Neo4j配置文件neo4j.conf的相关教程结束。

《Neo4j配置文件neo4j.conf.doc》

下载本文的Word格式文档,以方便收藏与打印。