Ubuntu16 安装配置Neo4j
1、引言
Neo4j是图数据库中单节点最受欢迎的一款产品,虽然不支持分布式,但是Neo4j无论从功能、性能、社区活跃度等都是非常高的。
Neo4j社区版 依赖Java,不同版本的Neo4j依赖不同版本的Java, 目前最新版4.1.x依赖Java11.
- 几点建议:
- 如果熟悉使用neo4j,可用较高版本(前提是稳定),因为高版本有更强大功能,如4.1开始支持neo4j管理内存
2、下载安装
2.1 服务器下载
curl -O http://dist.neo4j.org/neo4j-community-3.4.5-unix.tar.gz
2.2 解压安装
tar -xvzf neo4j-community-4.1.1.tar.gz
3、修改配置
cd neo4j-community-4.1.1/conf/
vim neo4j.conf
修改相应配置如下(没有的配置可跳过不动):
修改第22行load csv时l路径,在前面加个#,可从任意路径读取文件
dbms.directories.import=import
修改35行和36行,设置JVM初始堆内存和JVM最大堆内存
生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=5g dbms.memory.heap.max_size=10g
修改46行,可以认为这个是缓存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=10g
修改54行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=0.0.0.0
默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
修改71行,去掉#,设置http端口为7687,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.bolt.listen_address=:7687
修改75行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.http.listen_address=:7474
修改79行,去掉#,设置http端口为7473,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.https.listen_address=:7473
修改227行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true
修改246行,允许使用neo4j-shell,类似于mysql 命令行之类的
dbms.shell.enabled=true
修改235行,去掉#,设置连接neo4j-shell的端口,一般都是localhost或者127.0.0.1,这样安全,其他地址的话,一般使用https就行
dbms.shell.host=127.0.0.1
修改250行,去掉#,设置neo4j-shell端口,端口可以自定义,只要不和其他端口冲突就行
dbms.shell.port=1337
修改254行,设置neo4j可读可写
dbms.read_only=false
打开相对路径导入设置,即neo4j需要导入的文件放在$NEO4J_HOME/import
目录下,
去掉原有#注释
dbms.directories.import=import
把安全认证机制关掉,方便python代码调用neo4j
dbms.security.auth_enabled=false
Java Heap Size 配置优化
最大堆内存容量, 缓存页大小, 通常前者是后者的25%或50%, 具体要根据机器总内存及运行程序来
堆大小,8-16g足够使用,具体根据系统内存及使用情况分配
页面缓存大小,若不设置默认使用50%RAM, 设置的话,可定义4-5g,具体参考实际情况
dbms.memory.heap.max_size=8g
dbms.memory.pagecache.size=4g
是否使用默认neo4j密码,改为true则使用新定义密码
dbms.security.auth_enabled=false
逻辑日志:
- Neo4j中的逻辑事务日志用于不正常关闭后需要恢复数据库的情况。它们还用于在线备份操作,尤其是增量备份。
- 超过特定大小(大小为25 Mb)后,将旋转这些事务日志文件。可以配置日志文件的数量或使用的空间。
建议将设置为7 days
dbms.tx_log.rotation.retention_policy=7 days
默认数据库和最大数据库个数
- 默认会创建并使用neo4j数据库
dbms.default_database=neo4j
- 最大数据库个数
dbms.max_databases=100
只有在企业级4.0及之后版本才可使用
Neo4j单实例或因果群集中可以使用的最大数据库数。该数字包括所有联机和脱机数据库。整数形式,最小值为2。
请注意,一旦达到限制,就无法创建任何其他数据库。同样,如果将限制更改为小于现有数据库总数的数字,则无法创建其他数据库。
4、启动、关闭服务
进入bin目录执行neo4j start
启动脚本,脚本若要全局使用,可添加待执行脚本的父路径到环境变量:
进入linux系统配置文件,增加以下内容,保存
vim /etc/profile
export NEO4J_HOME=/root/neo4j-community-4.1.1
export PATH=$NEO4J_HOME/bin
环境变量立即生效:
source /etc/profile
命令执行:
neo4j status 查看数据库状态 neo4j start 启动数据库 neo4j stop 关闭数据库
5、客户端访问
根据conf中默认的配置修改, 7474端口是浏览器访问的应用地址,
http://服务器ip地址:7474/browser/
在浏览器访问图数据库所在的机器上的7474端口(第一次访问账号neo4j,密码neo4j,会提示修改初始密码)
参考
- [1] linux环境下的Neo4j安装