设置参考

参数 解释

initial.server.mode_constraint

此设置将数据库的运行模式限制为只能在主模式或从模式下使用。默认设置为 NONE,即无限制。作为初始设置,服务器首次启用时使用此处设置的值。一旦启用,服务器的模式约束只能通过 ALTER SERVER 'name' SET OPTIONS {modeConstraint:'PRIMARY'} 进行更改。

示例:配置为 initial.server.mode_constraint=SECONDARY 的服务器只分配拓扑中包含一个或多个从数据库的数据库。此服务器始终只以 SECONDARY 模式托管这些数据库。

initial.dbms.automatically_enable_free_servers

此设置允许自动启用处于 FREE 状态的服务器。启动后,可以通过 dbms.cluster.setAutomaticallyEnableFreeServers 存储过程进行更改。

server.cluster.system_database_mode

每个集群成员都托管 system 数据库。此配置控制给定实例以何种模式托管 system 数据库:PRIMARYSECONDARY

示例: server.cluster.system_database_mode=SECONDARY 表示此实例仅保留 system 数据库的辅助副本。

应该有相对较多的(5-7 个)system 主节点,分布在不同的可用区。但是,如果启用超过 10 个服务器,建议将后续的服务器设为从节点。

dbms.cluster.minimum_initial_system_primaries_count

配置了 server.cluster.system_database_mode=PRIMARY 的服务器的最小数量,这是形成集群所必需的。

示例: dbms.cluster.minimum_initial_system_primaries_count=3 指定当至少 3 个 system 数据库主节点相互发现时,集群被视为已引导且 DBMS 在线。

dbms.cluster.discovery.resolver_type

此设置指定了实例用于确定集群中其他实例的地址以进行引导的策略。可能的值有

LIST

dbms.cluster.endpoints 视为用于发现的服务器地址列表。

DNS

dbms.cluster.endpoints 视为通过 DNS 解析的域名。期望 DNS 解析提供带有主机名或 IP 地址的 A 记录,这些是用于发现的服务器地址,端口由 dbms.cluster.endpoints 指定。

SRV

dbms.cluster.endpoints 视为通过 DNS 解析的域名。期望 DNS 解析提供带有主机名或 IP 地址以及端口的 SRV 记录,这些是用于发现的服务器地址。

K8S

访问 Kubernetes 列表服务 API 以获取用于发现的服务器地址。要求 dbms.kubernetes.label_selector 是 Kubernetes 服务(每个服务运行一个服务器)的 Kubernetes 标签选择器,并且 dbms.kubernetes.discovery.service_port_name 是标识集群服务器服务发现端口的服务端口名称。此选项将忽略 dbms.cluster.endpoints 的值。有关更多详细信息,请参阅Kubernetes 中的发现

您需要在 neo4j.conf 文件中设置 dbms.cluster.endpoints。有关发现和发现配置选项的详细信息,请参阅服务器发现方法

dbms.cluster.endpoints 在 2025.01 中重命名

服务器应联系的端点列表,以逗号分隔,用于发现其他集群成员。通常,所有集群成员(包括当前服务器)都必须在此列表中指定。

示例: dbms.cluster.discovery.resolver_type=LIST 结合 server01.example.com:6000,server02.example.com:6000,server03.example.com:6000 尝试连接在 server01.example.comserver02.example.comserver03.example.com 上监听的 Neo4j 实例;所有实例都在端口 6000 上。

server.cluster.raft.advertised_address

此地址/端口设置指定 Neo4j 服务器向集群中的其他成员通告其监听 Raft 消息的地址。

示例: server.cluster.raft.advertised_address=192.168.33.20:7000 在绑定到 192.168.33.20 的网络接口上监听端口 7000 的集群通信。

server.cluster.advertised_address

此地址/端口设置指定实例通告其监听事务传输追赶协议中事务请求的地址。

示例: causal_clustering.transaction_advertised_address=192.168.33.20:6001 在绑定到 192.168.33.20 的网络接口上监听来自集群成员的端口 6001 事务。

server.cluster.raft.listen_address

此地址/端口设置指定 Neo4j 实例用于集群通信绑定的网络接口和端口。此设置必须与此实例在 server.cluster.raft.advertised_address 设置中通告其监听的地址协调设置。

示例: server.cluster.raft.listen_address=0.0.0.0:7000 在任何网络接口上监听端口 7000 的集群通信。

server.cluster.listen_address

此地址/端口设置指定 Neo4j 实例用于集群通信绑定的网络接口和端口。此设置必须与此实例在 server.cluster.advertised_address 设置中通告其监听的地址协调设置。

示例: server.cluster.listen_address=0.0.0.0:6001 在任何网络接口上监听端口 6001 的集群通信。

© . All rights reserved.