neo4j 3.5.4最新集群搭建高可用以及添加服务器到集群

neo4j 特点介绍

SQL就像简单的查询语言Neo4j CQL
它遵循属性图数据模型
它通过使用Apache Lucence支持索引
它支持UNIQUE约束
它包含一个用于执行CQL命令的UI:Neo4j数据浏览器
它支持完整的ACID(原子性,一致性,隔离性和持久性)规则
它采用原生图形库与本地GPE(图形处理引擎)
它支持查询的数据导出到JSON和XLS格式
它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问
它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
它支持两种Java API:Cypher API和Native Java API来开发Java应用程序

**

高可用架构

**
高可用性(High Availability)特征只能在Neo4j 企业版中可用,Neo4j High Availability 或者 Neo4j HA 提供以下两点主要特征:

  1. 可以是一个使用多台neo4j从数据库设置可以替代单台neo4j主数据库的容错架构数据库,这可以在硬件设备损坏的情况下使数据库具备完善的功能和读写操作的能力。
  2. 系统具有比单台neo4j数据库处理更多的读取负载处理的横向扫描主读架构。

Neo4j HA 设计的目的是为了从一台到多台机器transition的操作简单,而不需要在已存在的应用中做任何更改。当neo4j数据库以HA模式运行时,总是会有一个单台的主机(master),零个或者更多的从机(slave)。与其他主从复制设置相对比,Neo4j可以从从节点(slave)处理写入,所以不需要从主节点直接写入。为保持数据一致性,从节点(slave)将于主节点(master)同步处理写入。然而更新操作最终从主节点(master)传播到从节点(slave),所以一个从节点的写入在其他所有从节点上不是立即可见的。这是多台设备与单台设备在Neo4j HA模式下运行操作的唯一区别,所有其他ACID特征都一样。从节点写入数据同步效率极低,不建议直接往从节点写入,自己在测试期间也发现很多问题。

搭建环境

JDK1.8
neo4j版本:neo4j-enterprise-3.5.4-unix.tar.gz
下载地址 https://download.csdn.net/download/qq_40466467/11151650
服务器:
***43,***63,***64,***68,***69

服务配置
***43的neo4j.conf文件

ha.server_id=2
ha.initial_hosts=***43:5001,***63:5001,***64:5001,***68:5001
dbms.mode=HA
dbms.connector.http.listen_address=:7474
dbms.connector.bolt.listen_address=:7687
dbms.connector.http.enabled=true
dbms.connectors.default_listen_address=0.0.0.0
dbms.allow_upgrade=true
dbms.security.allow_csv_import_from_file_urls=true

***63的neo4j.conf文件

ha.server_id=3
ha.initial_hosts=***43:5001,***63:5001,***64:5001,***68:5001
dbms.mode=HA
dbms.connector.http.listen_address=:7474
dbms.connector.bolt.listen_address=:7687
dbms.connector.http.enabled=true
dbms.connectors.default_listen_address=0.0.0.0
dbms.allow_upgrade=true
dbms.security.allow_csv_import_from_file_urls=true

***64的neo4j.conf文件

ha.server_id=4
ha.initial_hosts=***43:5001,***63:5001,***64:5001,***68:5001
dbms.mode=HA
dbms.connector.http.listen_address=:7474
dbms.connector.bolt.listen_address=:7687
dbms.connector.http.enabled=true
dbms.connectors.default_listen_address=0.0.0.0
dbms.allow_upgrade=true
dbms.security.allow_csv_import_from_file_urls=true

***68的neo4j.conf文件

ha.server_id=5
ha.initial_hosts=***43:5001,***63:5001,***64:5001,***68:5001
dbms.mode=HA
dbms.connector.http.listen_address=:7474
dbms.connector.bolt.listen_address=:7687
dbms.connector.http.enabled=true
dbms.connectors.default_listen_address=0.0.0.0
dbms.allow_upgrade=true
dbms.security.allow_csv_import_from_file_urls=true

启动集群
分别在***43,***63,***64,***68的neo4j文件里bin目录下启动

./neo4j start

浏览器搜索

http://***43:7474/browser/

neo4j 3.5.4最新集群搭建高可用以及添加服务器到集群_第1张图片

添加一台服务器
***69
neo4j.conf文件

ha.server_id=1
ha.initial_hosts=***43:5001,***63:5001,***64:5001,***68:5001,***69:5001
dbms.mode=HA
dbms.connector.http.listen_address=:7474
dbms.connector.bolt.listen_address=:7687
dbms.connector.http.enabled=true
dbms.connectors.default_listen_address=0.0.0.0
dbms.allow_upgrade=true
dbms.security.allow_csv_import_from_file_urls=true

浏览器查看

neo4j 3.5.4最新集群搭建高可用以及添加服务器到集群_第2张图片

最新的neo4j选举模式使用使用paxos 取代了zookeeper ,采用自动选举的机制,在一个master宕机了,会自动选举下一个master作为替代。且这种模式无需进行文件配置,比起zookeeper要简便,也可以指定mater就是初始启动的时候id最小的就是master。
本次文章到此结束,单机课看本人其他博客,有相关neo4j.conf文件的相关的配置文件的解释。

你可能感兴趣的:(知识图谱)