initial.server.mode_constraint
|
此设置将数据库的操作模式限制为仅在主模式或辅助模式下使用。默认设置为 NONE ,即没有约束。作为初始设置,此处的设置值在首次启用服务器时使用。启用后,服务器的模式约束只能使用 ALTER SERVER 'name' SET OPTIONS {modeConstraint:'PRIMARY'} 更改。
示例:配置了initial.server.mode_constraint=SECONDARY 的服务器仅分配拓扑结构包含一个或多个辅助节点的数据库。此服务器始终仅以SECONDARY 模式托管这些数据库。
|
initial.dbms.automatically_enable_free_servers
|
|
server.cluster.system_database_mode
|
每个集群成员都托管system 数据库。此配置控制给定实例以PRIMARY 或SECONDARY 模式托管system 数据库。
示例: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.discovery.endpoints (或dbms.cluster.discovery.v2.endpoints ,如果您使用Neo4j 5.23及更高版本提供的发现服务v2)视为要联系的服务器地址列表,以进行发现。
DNS
-
将dbms.cluster.discovery.endpoints (或dbms.cluster.discovery.v2.endpoints ,如果您使用Neo4j 5.23及更高版本提供的发现服务v2)视为要通过DNS解析的域名。期望DNS解析提供包含服务器主机名或IP地址的A记录,以便在dbms.cluster.discovery.endpoints 指定的端口上进行发现。
SRV
-
将dbms.cluster.discovery.endpoints (或dbms.cluster.discovery.v2.endpoints ,如果您使用Neo4j 5.23及更高版本提供的发现服务v2)视为要通过DNS解析的域名。期望DNS解析提供包含服务器主机名或IP地址和端口的SRV记录,以便进行发现。
K8S
-
访问Kubernetes列表服务API以获取要联系的服务器地址,以便进行发现。需要dbms.kubernetes.label_selector 作为每个服务器运行的Kubernetes服务的Kubernetes标签选择器,并且dbms.kubernetes.service_port_name 作为识别集群服务器服务的发现端口的服务端口名称。对于此选项,dbms.cluster.discovery.endpoints (或dbms.cluster.discovery.v2.endpoints ,如果您使用Neo4j 5.23及更高版本提供的发现服务v2)的值将被忽略。有关更多详细信息,请参阅Kubernetes中的发现。
从Neo4j 5.23开始,根据您使用的发现服务版本,您需要在neo4j.conf文件中设置dbms.cluster.discovery.endpoints 或dbms.cluster.discovery.v2.endpoints 。有关发现和发现配置选项的详细信息,请参阅服务器发现方法。
|
dbms.cluster.discovery.endpoints 在5.23中已弃用
|
用于发现集群中其他服务器的一个或多个网络地址。用于将端点解析为其他集群成员的确切方法由dbms.cluster.discovery.resolver_type 的值确定。在默认情况下,初始发现成员以地址/端口对的逗号分隔列表形式给出,发现服务的默认端口为:5000 。
最佳实践是在集群中的所有服务器上将此参数设置为相同的值。
示例:dbms.cluster.discovery.resolver_type=LIST 与server01.example.com:5000,server02.example.com:5000,server03.example.com:5000 结合使用,尝试访问在server01.example.com、server02.example.com和server03.example.com上侦听的Neo4j实例;所有实例都在端口5000 上。
|
dbms.cluster.discovery.v2.endpoints 在5.22中引入
|
服务器应联系以发现其他集群成员的端点列表,以逗号分隔。通常,必须在此列表中指定所有集群成员,包括当前服务器。该设置配置发现服务v2的端点。
示例:dbms.cluster.discovery.resolver_type=LIST 与server01.example.com:6000,server02.example.com:6000,server03.example.com:6000 结合使用,尝试访问在server01.example.com、server02.example.com和server03.example.com上侦听的Neo4j实例;所有实例都在端口6000 上。
|
dbms.cluster.discovery.version 在5.22中引入
|
发现服务v1和v2设计为并行运行。它们彼此完全独立,因此允许您在从v1切换到v2时保持集群正常运行。有关如何从发现服务v1迁移到v2的详细信息,请参阅从发现服务v1迁移到v2。
|
server.discovery.advertised_address 在5.23中已弃用
|
指定实例在何处发布它侦听来自集群其他成员的发现协议消息的地址/端口设置。如果此服务器包含在其他集群成员的discovery.endpoints 中,则那里的值必须与该发布地址**完全**匹配。
示例:server.discovery.advertised_address=192.168.33.21:5001 表示其他集群成员可以使用主机192.168.33.20 和端口5001 上的发现协议与该服务器通信。
|
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.discovery.listen_address 在5.23中已弃用
|
指定Neo4j实例为集群发现协议绑定到的网络接口和端口的地址/端口设置。
示例:server.discovery.listen_address=0.0.0.0:5001 侦听任何网络接口上端口5001 上的集群成员通信。
|
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 上的集群通信。
|