Neo4j 安装配置
- 安装java 环境
Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JDK1.8及以上版本。
预先检查jdk安装版本,没有jdk或者jdk 不达标,请安装或者升级
- 修改系统打开文件数量限制
linux 默认打开文件数linux 默认打开文件数为1024个,通过ulimit -a 可以查看open files
修改
Vim /etc/security/limits.conf
增加如下信息:
* soft nofile 65536
* hard nofile 65536
保存后,重启生效
3、安装 配置neo4j
3.1、下载neo4j
官方下载:https://neo4j.com/download-center/#community
(只能下载最新的,历史版本没找到)
或者在服务器上直接下载:
curl -O http://dist.neo4j.org/neo4j-community-3.5.5-unix.tar.gz
如果要下载其他版本,修改版本号即可
下载好之后解压即可:
tar -zxvf neo4j-community-3.5.5-unix.tar.gz
3.2 、配置参数
修改解压目录下conf 目录下的配置文件
(1)修改第22行load csv时的路径,在前面加个#,可从任意路径读取文件。默认只能从import 路径下读取
#dbms.directories.import=import
(2)修改35行和36行,设置JVM初始堆内存和JVM最大堆内存(默认是512M),修改46行(默认是10g)
memory=64G推荐设置
dbms.memory.heap.initial_size=24g
dbms.memory.heap.max_size=24g
dbms.memory.pagecache.size=28g
(3)修改54行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=0.0.0.0
(4) 默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
# 修改71行,75行,79行,去掉#,设置,端口可以自定义,只要不和其他冲突就行dbms.connector.bolt.listen_address=:7687
dbms.connector.http.listen_address=:7474
dbms.connector.https.listen_address=:7473
(5)修改245行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true
(5)修改265行,设置neo4j可读可写
dbms.read_only=false
3.3 、启动
进入bin 目录下
启动:./neo4j start
停止:./neo4j stop
查看状态:./neo4j status
配置环境变量
vim /etc/profile
在最后边添加
NEO4J_HOME=/opt/neo4j/neo4j-community-3.5.5
PATH=$PATH:$NEO4J_HOME/bin
export NEO4J_HOME PATH
然后 source /etc/profile
这样就可以全局使用neo4j
3.4、访问
启动成功后
访问浏览器:http://10.10.20.176:7474/
这里会跳到一个登录页面
第一次访问账号neo4j,密码neo4j,会提示修改初始密码
修改完密码即可
3.5 、添加算法库
执行 CALL algo.list()可以发现 neo4j没有algo 相关算法库,这就需要装插件
到 https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases
下载对应版本的jar。这里是3.5.5
发现没有找到,我们就下载最新的3.5.4.0
下载完放到 解压目录plugins下
修改配置文件在最后边添加配置
dbms.security.procedures.unrestricted=algo.*
重启:
可以发现有算法了
3.6 日志保留策略
Neo4j 在进行大量增删操作后,会在/data/databases/graph.db 目录下
产生大量事务日志,占据磁盘空间
在配置文件里添加如下配置(根据需要修改值)
- 每多少秒做一次checkpoint
- 每多少次事务做一次checkpoint
- 只保留最近的一次
- 事务日志最大多少M
dbms.checkpoint.interval.time=30s
dbms.checkpoint.interval.tx=1
dbms.tx_log.rotation.retention_policy=false
dbms.tx_log.rotation.size=1M
- 配置开机自启
在/etc/systemd/system 下 vim neo4j.service
加入如下内容:
[Unit]
Description=Neo4j Graph Database
After=network.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/opt/neo4j/neo4j-community-3.5.5/bin/neo4j start
ExecStop=/opt/neo4j/neo4j-community-3.5.5/bin/neo4j stop
ExecReload=/opt/neo4j/neo4j-community-3.5.5/bin/neo4j restart
RemainAfterExit=no
Restart=on-failure
PIDFile = /opt/neo4j/neo4j-community-3.5.5/run/neo4j.pid
Environment="NEO4J_CONF=/opt/neo4j/neo4j-community-3.5.5/conf" "NEO4J_HOME=/opt/neo4j/neo4j-community-3.5.5" "JAVA_HOME=/opt/jdk/jdk1.8.0_211"
LimitNOFILE=60000
TimeoutSec=600
[Install]
WantedBy=multi-user.target
注意路径换成自己的neo4j 路径和java 路径
保存后退出·
启动:systemctl start neo4j
关闭:systemctl stop neo4j
查看状态:systemctl status neo4j
加入开机自启: systemctl enable neo4j
取消开机自自启:systemctl disable neo4j