一、安装Neo4j
Neo4j可部署在多个不同的操作系统平台,其社区版和企业版部署方式都是一样的。需要在什么平台部署自行下载对应的包即可,下载地址:https://neo4j.com/download。官方提供了多种部署方式,如YUM、二进制包、源码包等。
下面介绍在CentOS平台使用二进制方式安装Neo4j,但需要先安装Java环境(Neo4j是Java编写),对于Java使用Oracle JDK 8或OpenJDK 8都行。
1 |
$ yum install java-1.8.0-openjdk |
然后解压下载来的Neo4j二进制包(企业版):
1 |
$ tar xvf neo4j-enterprise-3.2.6-unix.tar.gz -C /opt/ |
这就安全完成了,可以看一下neo4j安装目录,有如下文件或目录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ /opt/neo4j-enterprise-3.2.6 total 192 drwxr-xr-x. 3 112 65534 4096 Sep 29 09:18 bin drwxr-xr-x. 2 112 65534 59 Nov 8 07:44 conf drwxr-xr-x. 3 112 65534 22 Sep 29 09:13 data drwxr-xr-x. 2 112 65534 6 Sep 29 09:13 import drwxr-xr-x. 2 root root 8192 Nov 8 07:44 lib -rw-r--r--. 1 112 65534 125135 Sep 29 09:13 LICENSES.txt -rw-r--r--. 1 112 65534 35390 Sep 29 09:13 LICENSE.txt drwxr-xr-x. 2 112 65534 6 Sep 29 09:13 logs -rw-r--r--. 1 112 65534 6045 Sep 29 09:13 NOTICE.txt drwxr-xr-x. 2 112 65534 6 Sep 29 09:13 plugins -rw-r--r--. 1 112 65534 1692 Sep 29 09:13 README.txt drwxr-xr-x. 2 112 65534 6 Sep 29 09:13 run -rw-r--r--. 1 112 65534 96 Sep 29 09:13 UPGRADE.txt |
基本根据目录名就可以见名知义了,分别是存放执行文件、配置文件、数据文件、库文件、日志文件、插件等。
Neo4j的执行文件
程序 | 描述 |
cypher-shell | 操作Cypher的程序。 |
neo4j | 服务端程序。 |
neo4j-admin | 管理工具,设置命令,数据恢复等功能。 |
neo4j-backup | 热备份工具(只有企业版支持)。 |
neo4j-import | 数据导入导出工具。 |
neo4j-shell | 已被废弃,建议停止使用。 |
Neo4j的日志文件
程序名 | 描述 |
neo4j.log | 标准日志,其中写有关于Neo4j的一般信息。 |
debug.log | 在调试debug的问题时有用的信息。 |
http.log | HTTP API的请求日志。 |
gc.log | JVM提供的垃圾收集日志记录。 |
query.log | 记录超过设定查询时间阈值的查询日志(仅限企业版) |
security.log | 数据库安全事件日志(仅限企业版) |
service-error.log | 安装或运行Windows服务时遇到的错误日志(仅限Windows) |
Neo4j的重要端口
端口 | 名称 | 相关参数 | 描述 |
6362 | 备份 | dbms.backup.enabled=true dbms.backup.address=0.0.0.0:6362 |
默认情况下禁用备份功能,在生产环境中,对此端口的外部访问由防火墙控制。 |
7474 | HTTP服务 | dbms.connector.http.enabled=true dbms.connector.http.listen_address=:7474 |
由Neo4j浏览器使用,也由RESE API使用。由于为加密,外部使用时需谨慎。 |
7473 | HTTPS服务 | dbms.connector.https.enabled=true dbms.connector.https.listen_address=:7473 |
由REST API使用,加密传输。 |
7687 | Bolt | dbms.connector.bolt.enabled=true dbms.connector.bolt.tls_level=OPTIONAL dbms.connector.bolt.listen_address=:7687 |
由Cypher Shell和Neo4j浏览器使用。 |
5000 6000 7000 |
因果集群 | causal_clustering.discovery_listen_address=:5000 causal_clustering.transaction_listen_address=:6000 causal_clustering.raft_listen_address=:7000 |
是neo4j.conf中的默认端口,在实际使用中可自行修改。 |
5001 6001 |
高性能集群 | ha.host.coordination=127.0.0.1:5001 ha.host.data=127.0.0.1:6001 |
是neo4j.conf中的默认端口,在实际使用中可自行修改。 |
2003 | Graphite监控 | metrics.graphite.server=localhost:2003 | Neo4j与Graphite服务器通信的端口。 |
3637 | JMX监控 | dbms.jvm.additional=-_ Dcom.sum.management.jmxremote.port=3637 |
JMX监控端口,不推荐采用这种检查数据库的方式,默认情况下不启用。 |
1337 | Neo4j-shell程序 | dbms.shell.port=1337 | 这个工具已被弃用,建议停止使用。 |
二、启动Neo4j
使用neo4j程序可启动或关闭neo4j服务端程序,使用很简单,看一下帮助信息,如下:
1 2 |
./bin/neo4j --help Usage: neo4j { console | start | stop | restart | status | version } |
start启动即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ ./bin/neo4j start Active database: graph.db Directories in use: home: /opt/neo4j-enterprise-3.2.6 config: /opt/neo4j-enterprise-3.2.6/conf logs: /opt/neo4j-enterprise-3.2.6/logs plugins: /opt/neo4j-enterprise-3.2.6/plugins import: /opt/neo4j-enterprise-3.2.6/import data: /opt/neo4j-enterprise-3.2.6/data certificates: /opt/neo4j-enterprise-3.2.6/certificates run: /opt/neo4j-enterprise-3.2.6/run Starting Neo4j. WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual. Started neo4j (pid 13967). It is available at http://localhost:7474/ There may be a short delay until the server is ready. See /opt/neo4j-enterprise-3.2.6/logs/neo4j.log for current status. |
根据启动信息,可以看出neo4j监控在localhost,如果想允许远程访问,可修改配置文件./conf/neo4j.conf,开启如下参数(最主要是默认监听端口):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# With default configuration Neo4j only accepts local connections. # To accept non-local connections, uncomment this line: dbms.connectors.default_listen_address=0.0.0.0 # Bolt connector dbms.connector.bolt.enabled=true dbms.connector.bolt.tls_level=OPTIONAL dbms.connector.bolt.listen_address=:7687 # HTTP Connector. There must be exactly one HTTP connector. dbms.connector.http.enabled=true dbms.connector.http.listen_address=:7474 # HTTPS Connector. There can be zero or one HTTPS connectors. dbms.connector.https.enabled=true dbms.connector.https.listen_address=:7473 |
相关端口都启动之后就可以打开浏览器访问服务器:http://10.10.0.110:7474,会跳转到如下界面:
打开浏览器,第一步需要设置连接bolt地址,访问RESE API。然后使用默认:
用户名:neo4j
密码:neo4j
第一次必须得修改密码哦!然后就进入到了Neo4j管理界面。
三、配置Neo4j连接器
应用程序端与Neo4j数据库之间通信需要有相应的机制作保障,从而Neo4j连接器应用而生,Neo4j提供了非常丰富的连接机制,支持Bolt二进制协议或HTTP/HTTPS方式,极大地方便了应用程序的开发。默认情况下可配置三种不同的Neo4j连接器:Bolt连接器、HTTP连接器和HTTPS连接器。如下表所示。但配置HTTPS连接器需要安装证书才行。
连接器 | 协议 | 端口 |
dbms.connector.bolt | Bolt二进制协议 | 7687 |
dbms.connector.http | HTTP协议 | 7474 |
dbms.connector.https | HTTPS协议 | 7473 |
每种Neo4j连接器均有三个参数:enabled、listen_address、advertised_address,参数的配置信息说明如下:
参数名 | 默认值 | 描述 |
enabled | TRUE | 允许启用或禁用客户端连接器 |
listen_address | IP地址:端口 | 输入连接的IP地址 |
advertised_address | IP地址:端口 | 客户端使用此连接器的IP地址 |
Neo4j配置文件中,dbms.connectors.default_listen_address和dbms.connectors.default_advertised_address参数可用于分别指定listen_address和advertised_address的网络接口部分。dbms.connectors.default_listen_address设置所有连接器的listen_address的默认网络接口地址,dbms.connectors.default_advertised_address设置所有连接器的advertised_address的默认网络接口地址。如无特别配置,可为所有连接器设置默认值。