neo4j配置详解

neo4j.conf 约定

neo4j.conf文件是Neo4j中配置设置的主要来源,包含配置设置键到值的映射。neo4j.conf文件中的大多数配置设置直接应用于Neo4j本身,但也有与Neo4j运行的Java运行时(JVM)相关的其他设置。

neo4j.conf 约定

  • 等号(=)将配置设置KV配置。

  • 以数字符号(#)开头的行作为注释处理。

  • 不支持尾随注释。

  • 空行将被忽略。

  • 配置neo4j.conf中的设置将覆盖所有默认值。如果要用自定义值修改默认值,则必须显式列出默认值和新值。

  • 配置设置是无序。

  • 默认情况下,配置设置启用了严格的验证。如果Neo4j.conf文件包含错字、错误信息或重复(server.jvm.additional除外),它会阻止Neo4j启动。如果为server.jvm.additional设置了多个值。每个设置值向java启动程序添加一个自定义JVM参数。

  • 要禁用严格验证,请设置server.config.strict_validate.enabled=false

  • 默认情况下,字符编码为ISO 8859-1。可以通过将环境变量NEO4J_CONFIG_FILE_CHARSET设置为utf8来覆盖。

配置设置

通用格式

Neo4j配置设置有以下通用格式:

<prefix>.<scope>.<component>...<component>.<name>

scope一般有:

  • db
  • dbms
  • server
  • browser
  • client

JVM配置

Setting Description
server.memory.heap.initial_size 初始化堆大小,默认情况下根据系统资源计算。
server.memory.heap.max_size 堆最大值,默认情况下根据系统资源计算。
server.jvm.additional 附加参数

如果希望很好地控制系统行为,建议将堆大小参数设置为相同的值,以避免不必要的完全垃圾收集暂停。

列出当前有效配置

SHOW SETTINGS
YIELD name, value
WHERE name STARTS WITH 'server.default'
RETURN name, value
ORDER BY name
LIMIT 3;

命令扩展

命令展开提供了一个额外的功能来配置Neo4j,它允许您指定设置来自外部文件的值的脚本。这对以下情况特别有用:

  • 避免以明文形式在neo4j.conf文件中设置敏感信息,如用户名、密码、密钥等。

  • 处理在文件系统不可访问的环境中运行的实例的配置设置。

neo4j.conf 文件中通过$() 把脚本的值作为参数。例如:dbms.setting=$(script_to_execute)

该配置接受可以由拥有并执行Neo4j服务器的用户在子进程中执行的任何命令。这也意味着,在将Neo4j设置为服务的情况下,命令在服务中执行。

可以使用curl 命令为配置设置获取令牌或值。例如,可以通过将neo4j.conf文件中的任何敏感信息替换为对某种提供者的安全引用来应用额外的安全级别。

启用

--expand-commands参数

bin/neo4j start --expand-commands

默认文件位置

File type Description Linux / macOS / Docker
Bin 运行文件位置 <neo4j-home>/bin
Certificates TLS证书 <neo4j-home>/certificates
Configuration The Neo4j configuration settings, Log4j configuration settings, and the JMX access credentials. <neo4j-home>/conf/neo4j.conf <neo4j-home>/conf/server-logs.xml <neo4j-home>/conf/user-log.xml
Data [3] 数据文件 <neo4j-home>/data
Import LOAD CSV 文件 /import
Labs [4] APOC Core <neo4j-home>/labs
Lib <neo4j-home>/lib
Licenses <neo4j-home>/licenses
Logs <neo4j-home>/logs
Metrics 度量 <neo4j-home>/metrics
Plugins 插件 <neo4j-home>/plugins
Products <neo4j-home>/products
Run 进程id <neo4j-home>/run

自定义文件位置

环境变量设置:

Location Default Environment variable
<neo4j-home> bin 目录的父目录 NEO4J_HOME
conf <neo4j-home>/conf NEO4J_CONF

其他设置:

#server.directories.data=data
#server.directories.plugins=plugins
#server.directories.logs=logs
#server.directories.lib=lib
#server.directories.run=run
#server.directories.licenses=licenses
#server.directories.metrics=metrics
#server.directories.transaction.logs.root=data/transactions
#server.directories.dumps.root=data/dumps
#server.directories.import=import

端口

监听地址配置设置

侦听地址配置设置将设置要侦听的网络接口和端口。例如,ip地址为127.0.0.1,端口为7687,可设置为127.0.0.1:7687。下表显示了可用的neo4j特定端口和相关配置设置的概述:

Name Default port Related configuration setting
backup 6362 server.backup.listen_address
HTTP 7474 server.http.listen_address
HTTPS 7473 server.https.listen_address
Bolt 7687 server.bolt.listen_address
Cluster discovery management 5000 server.discovery.listen_address
Cluster transaction 6000 server.cluster.listen_address
Cluster RAFT 7000 server.cluster.raft.listen_address
Cluster routing connector 7688 server.routing.listen_address
Graphite monitoring 2003 server.metrics.graphite.server
Prometheus monitoring 2004 server.metrics.prometheus.endpoint
JMX monitoring 3637 server.jvm.additional=-Dcom.sun.management.jmxremote.port=3637
Remote debugging 5005 server.jvm.additional=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

配置设置server.default_listen_address 将默认网络接口配置为侦听传入的连接。

广播地址设置

连接配置

可用连接器

Connector name Protocol Default port number
server.bolt Bolt 7687
server.http HTTP 7474
server.https HTTPS 7473

初始化密码

见:https://neo4j.com/docs/operations-manual/5/configuration/set-initial-password/

密码和用户恢复

见:https://neo4j.com/docs/operations-manual/5/configuration/password-and-user-recovery/

修改动态配置

//显示配置
SHOW SETTINGS
YIELD name, isDynamic
WHERE isDynamic
RETURN name
//修改配置
CALL dbms.setConfigValue(setting, value)

更多配置

见:https://neo4j.com/docs/operations-manual/5/configuration/configuration-settings/

  • 检查点配置
  • 集群配置
  • 连接配置
  • cypher配置
  • 数据库配置
  • DBMS配置
  • 导入配置
  • 索引配置
  • 日志配置
  • 内存配置
  • 度量配置
  • 安全配置
  • K8S配置
  • 目录配置
  • 服务配置
  • 事务配置
  • 事务日志配置

相关推荐

  1. neo4j配置详解

    2024-01-06 00:34:01       44 阅读
  2. neo4j查询语言Cypher详解(五)--apoc

    2024-01-06 00:34:01       40 阅读
  3. Neo4j图形数据库查询,Cypher语言详解

    2024-01-06 00:34:01       6 阅读
  4. Neo4j介绍

    2024-01-06 00:34:01       38 阅读
  5. 安装Neo4j

    2024-01-06 00:34:01       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-06 00:34:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-06 00:34:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-06 00:34:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-06 00:34:01       20 阅读

热门阅读

  1. 保障企业数据安全的29个最佳实践

    2024-01-06 00:34:01       36 阅读
  2. Pointnet++环境配置(Windows11和ubuntu)及训练教程

    2024-01-06 00:34:01       39 阅读
  3. ==和equals

    2024-01-06 00:34:01       37 阅读
  4. LeeetCode 206

    2024-01-06 00:34:01       29 阅读
  5. 防抖节流的应用场景

    2024-01-06 00:34:01       32 阅读
  6. 分布式缓存考点梳理 + 高频面试题

    2024-01-06 00:34:01       32 阅读
  7. matlab中如何将视频保存成图像

    2024-01-06 00:34:01       38 阅读
  8. 【大数据】Doris 数仓使用规范原则

    2024-01-06 00:34:01       32 阅读
  9. Linux 挂载磁盘, 无数据案例

    2024-01-06 00:34:01       32 阅读
  10. 法大大实名认证的情况

    2024-01-06 00:34:01       32 阅读
  11. 自有图片数据制成npz格式数据集

    2024-01-06 00:34:01       40 阅读