集群基本配置(示例)
core servers: 10.110.10.11, 10.110.10.12, 10.110.10.13
read replicas: 10.110.10.14, 10.110.10.15, 10.110.10.16
Neo4j图数据库分布式架构图:(详细可参考官方文档: https://neo4j.com/docs/operations-manual/3.5/clustering/introduction/)
Core Server部署
# 分别在服务器10.110.10.11, 10.110.10.12, 10.110.10.13执行,并将core_addr替换为对应的IP export HOME=/disk01/neo4j_cluster export core_addr=10.110.10.11 docker run --name=neo4j-core --detach \ --network=host \ --publish=7474:7474 --publish=7687:7687 \ --publish=5000:5000 --publish=6000:6000 --publish=7000:7000 \ --env=NEO4J_dbms_mode=CORE \ --env=NEO4J_causal__clustering_expected__core__cluster__size=3 \ --env=NEO4J_causal__clustering_initial__discovery__members=10.110.10.11:5000,10.110.10.12:5000,10.110.10.13:5000 \ --env=NEO4J_causal__clustering_discovery__advertised__address=$core_addr:5000 \ --env=NEO4J_causal__clustering_transaction__advertised__address=$core_addr:6000 \ --env=NEO4J_causal__clustering_raft__advertised__address=$core_addr:7000 \ --env=NEO4J_dbms_connectors_default__advertised__address=$core_addr \ --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \ --volume=$HOME/data:/data \ --volume=$HOME/logs:/logs \ --volume=$HOME/import:/import \ --volume=$HOME/plugins:/plugins \ --env=NEO4J_dbms_memory_pagecache_size=4G \ --restart=always \ --env=NEO4J_dbms_connector_bolt_enabled=true \ --env=NEO4J_dbms_connector_bolt_listen__address=:7687 \ --env=NEO4J_metrics_prometheus_enabled=true \ --env=NEO4J_metrics_prometheus_endpoint=0.0.0.0:2004 \ neo4j:3.4.15-enterprise
Read Replicas部署
# 分别在服务器10.110.10.14, 10.110.10.15, 10.110.10.16执行 docker run --name=read_replica --detach \ --publish=8474:7474 --publish=8473:7473 --publish=8687:7687 \ --env=NEO4J_dbms_mode=READ_REPLICA \ --env=NEO4J_causal__clustering_initial__discovery__members=10.110.10.11:5000,10.110.10.12:5000,10.110.10.13:5000 \ --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \ --restart=always \ neo4j:3.4.15-enterprise
浏览器访问http://10.110.10.11:7474初始化账号密码
注意: neo4j3.5版本之后的企业版需要收费,所以以上用的是3.4.15企业版