Linux 可执行文件 (.tar)
在您从 tarball 在 Linux 上安装 Neo4j 并将其作为控制台应用程序或服务运行之前,请查看 系统要求 以查看您的设置是否合适。
从 tarball 安装 Neo4j
-
如果尚未安装,请获取 OpenJDK 17 或 Oracle Java 17。从 5.14 版开始,Neo4j 还支持 JDK 21。
-
从 Neo4j 部署中心 下载最新的 Neo4j tarball 并解压缩它
tar zxf neo4j-enterprise-5.25.1-unix.tar.gz
-
将解压缩的文件移动到服务器的 /opt 目录并为其创建一个符号链接
mv neo4j-enterprise-5.25.1 /opt/ ln -s /opt/neo4j-enterprise-5.25.1 /opt/neo4j
-
创建一个
neo4j
用户和组groupadd neo4j useradd -g neo4j neo4j -s /bin/bash
-
使用以下选项之一为目录提供正确的权限
-
Ubuntu
chown -R neo4j:adm /opt/neo4j-enterprise-5.25.1
-
RedHat
chown -R neo4j /opt/neo4j-enterprise-5.25.1
-
-
从 Neo4j 5.4 版本开始,您需要在运行 Neo4j 企业版之前接受商业许可协议或评估许可协议。如果您使用的是社区版,则可以跳过此步骤。
-
使用以下选项之一接受商业许可协议。有关可用协议的详细信息,请参阅Neo4j 许可页面。
-
设置环境变量
NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
。 -
运行
<NEO4J_HOME>/bin/neo4j-admin server license --accept-commercial
-
-
使用以下选项之一接受Neo4j 软件评估协议。
-
设置环境变量
NEO4J_ACCEPT_LICENSE_AGREEMENT=eval
。 -
运行
<NEO4J_HOME>/bin/neo4j-admin server license --accept-evaluation
。
-
-
-
(可选) 通过设置环境变量
NEO4J_CONF
和server.directories.data
指向所需位置,将数据和配置目录与二进制文件分离。将您的数据和配置存储在单独的磁盘或分区上可以简化以后的升级过程。 -
在第一次启动数据库之前,建议使用
neo4j-admin
的set-initial-password
命令定义本地用户neo4j
的密码。如果未通过此方法显式设置密码,则它将设置为默认密码
neo4j
。在这种情况下,系统将在您首次登录时提示您更改默认密码。
有关更多信息,请参阅设置初始密码。 -
启动 Neo4j
-
要以控制台应用程序的形式运行 Neo4j,请使用:
<NEO4J_HOME>/bin/neo4j console
。 -
要以后台进程的形式运行 Neo4j,请使用:
<NEO4J_HOME>/bin/neo4j start
。
-
-
在您的网络浏览器中打开http://localhost:7474。
-
使用用户名
neo4j
和您的密码或默认密码neo4j
进行连接。然后系统将提示您更改密码。 -
在控制台中键入
Ctrl-C
停止服务器。
配置 Neo4j 在系统启动时自动启动
您可以创建一个 Neo4j 服务并将其配置为在系统启动时自动启动。
-
创建文件/lib/systemd/system/neo4j.service,内容如下
[Unit] Description=Neo4j Graph Database After=network-online.target Wants=network-online.target [Service] ExecStart=/opt/neo4j/bin/neo4j console Restart=on-abnormal User=neo4j Group=neo4j Environment="NEO4J_CONF=/opt/neo4j/conf" "NEO4J_HOME=/opt/neo4j" LimitNOFILE=60000 TimeoutSec=120 [Install] WantedBy=multi-user.target
-
重新加载 systemctl 以获取新的服务文件
systemctl daemon-reload
-
配置 Neo4j 在启动时启动
systemctl enable neo4j
-
在第一次启动数据库之前,建议使用
neo4j-admin
的set-initial-password
命令定义本地用户neo4j
的密码。如果未通过此方法显式设置密码,则它将设置为默认密码
neo4j
。在这种情况下,系统将在您首次登录时提示您更改默认密码。
有关更多信息,请参阅设置初始密码。 -
启动 Neo4j
systemctl start neo4j
-
检查新创建的服务的状态
systemctl status neo4j
-
重新启动系统(如果需要)以验证 Neo4j 是否在启动时重新启动
reboot
有关操作 Neo4j 系统服务的更多信息,请参阅Neo4j 系统服务。
设置打开的文件数
Linux 平台对每个用户和会话并发打开的文件数施加上限。要检查当前会话的限制,请运行命令ulimit -n
。默认值为 1024。
ulimit -n
但是,如果您遇到Too many open files
或Could not stat() directory
异常,则必须将限制提高到 40000 或更高,具体取决于您的使用模式。当使用许多索引或服务器安装遇到过多打开的网络连接或套接字时,尤其如此。
一个快速的解决方案是命令ulimit -n <the-new-limit>
,但它只会为 root 用户设置新的限制,并且只会影响当前会话。如果您想在系统范围内设置值,请按照平台的说明操作。
以下步骤将 Ubuntu 16.04 LTS、Debian 8、CentOS 7 或更高版本中用户neo4j的打开文件描述符限制设置为 60000。
以服务形式运行 Neo4j
-
以 root 权限打开neo4j.service文件。
sudo systemctl edit neo4j.service
-
将以下内容追加到配置 Neo4j 在系统启动时自动启动中创建的
[Service]
部分[Service] ... LimitNOFILE=60000
以交互式用户身份运行 Neo4j(例如,出于测试目的)
-
以 root 权限在文本编辑器中打开user.conf文件。此示例使用 Vim
sudo vi /etc/systemd/user.conf
-
取消注释并定义
[Manager]
部分中找到的DefaultLimitNOFILE
的值。[Manager] ... DefaultLimitNOFILE=60000
-
打开/etc/security/limits.conf文件。
sudo vi /etc/security/limits.conf
-
定义以下值
neo4j soft nofile 60000 neo4j hard nofile 60000
-
重新加载
systemd
设置。sudo systemctl daemon-reload
-
重新启动您的机器。
卸载 Neo4j
按照以下步骤在 Linux 上卸载 Neo4j
-
(可选) 创建一个备份以避免丢失数据。
-
停止所有正在运行的 Neo4j 服务
--- sudo systemctl stop neo4j sudo systemctl disable neo4j ---
-
删除NEO4J_HOME和文件/lib/systemd/system/neo4j.service
--- rm /lib/systemd/system/neo4j.service rm -rf NEO4J_HOME ---