基于 Debian 的发行版 (.deb)

您可以使用 Neo4j Debian 软件包在 Debian 和基于 Debian 的发行版(如 Ubuntu)上安装 Neo4j。

Java 先决条件

Neo4j 5 需要 Java 17 运行时环境。Ubuntu 16.04 LTS 中不包含 Java 17,并且必须在安装或升级到 Neo4j 5 之前手动设置,如下所述。Debian 11 和 Ubuntu 18.04 及更高版本已通过 apt 提供 OpenJDK Java 17 软件包。从 5.14 版开始,Neo4j 还支持 JDK 21。

Oracle JDK、Zulu JDK 或 Corretto JDK

如果您希望使用非默认 JDK,则必须在开始 Neo4j 安装之前安装它。否则,您的包管理器将为您的操作系统安装默认的 Java 发行版,通常是 OpenJDK。

下载和安装说明可以在制造商的网站上找到

Ubuntu 16.04 上的 OpenJDK 17

将官方 OpenJDK 软件包存储库添加到 apt

sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt-get update

现在,您可以准备安装 Neo4j,如果尚未安装,它将自动安装 Java 17。请参阅 处理多个已安装的 Java 版本,以确保您可以在安装后启动 Neo4j。

处理多个已安装的 Java 版本

您必须将默认 Java 版本配置为指向 Java 17,否则 Neo4j 5.25.1 将无法启动。使用 update-java-alternatives 命令执行此操作。

  1. 使用 `update-java-alternatives --list` 命令列出所有已安装的 Java 版本。

    你的结果可能有所不同,但这是一个示例输出。

    java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64
    java-1.11.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.11.0-openjdk-amd64
  2. 找到你的 Java 17 版本。

    java -version

    在本例中,它是 `java-1.17.0-openjdk-amd64`。

  3. 将其设置为默认版本,用其名称替换 ``。

    sudo update-java-alternatives --jre --set <java17name>
  4. 再次使用 `java -version` 命令确认哪个 Java 版本是默认版本。

安装

添加仓库

Debian 软件包可从 https://debian.neo4j.com 获取。

  1. 要使用 Neo4j 通用版本的仓库,请运行以下命令:

    wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/neotechnology.gpg
    echo 'deb [signed-by=/etc/apt/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
    sudo apt-get update

    为了避免 `apt` 包管理器意外强制数据库升级的风险,Neo4j 的不同主版本和次版本也分别在仓库中提供。要以这种方式安装 Neo4j,请用所需的版本替换 `latest`。

    以下方法推荐用于生产或业务关键型安装。

    wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/neotechnology.gpg
    echo 'deb [signed-by=/etc/apt/keyrings/neotechnology.gpg] https://debian.neo4j.com stable 5' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
    sudo apt-get update
  2. 将仓库添加到 `apt` 后,可以通过运行以下命令验证哪些 Neo4j 版本可用:

    apt list -a neo4j

    在 Ubuntu 服务器安装中,你还需要确保已启用 `universe` 仓库。如果 `universe` 仓库不存在,Neo4j 安装将失败并出现错误 `Depends: daemon but it is not installable`。

    可以通过运行以下命令解决此问题:

    sudo add-apt-repository universe

安装 Neo4j

要安装 Neo4j,请根据要安装的版本运行以下命令之一:

  • Neo4j 社区版

    sudo apt-get install neo4j=1:5.25.1
  • Neo4j 企业版

    sudo apt-get install neo4j-enterprise=1:5.25.1

请注意,该版本包含一个纪元版本组件 ( `1:` ),遵循 Debian 版本策略

安装 Neo4j 企业版时,系统会提示你接受许可协议。接受许可协议后,安装开始。你对许可协议提示的回答将被记住,以便在同一系统上的后续安装中使用。

要忘记存储的答案,并在后续安装中触发许可协议提示,请使用 `debconf-communicate` 清除存储的答案:

echo purge | sudo debconf-communicate neo4j-enterprise

Neo4j 企业版的非交互式安装

对于 Neo4j 企业版,许可协议在交互式提示中显示。如果你需要非交互式安装 Neo4j 企业版,可以使用 `debconf-set-selections` 指示你已阅读并接受许可协议:

对于 Neo4j 5.3 及更高版本
echo "neo4j-enterprise neo4j/accept-license select Accept commercial license" | sudo debconf-set-selections
对于 Neo4j 5.2 及更早版本
echo "neo4j-enterprise neo4j/question select I ACCEPT" | sudo debconf-set-selections
echo "neo4j-enterprise neo4j/license note" | sudo debconf-set-selections

验证 Java 版本

在较新的 Debian 或 Ubuntu 操作系统上,默认情况下提供 Java 19,并且 `apt` 可能会安装 OpenJDK 19,**即使你已安装 Java 17**。

如果发生这种情况,Neo4j 在启动时将返回以下警告:

WARNING! You are using an unsupported Java runtime.
* Please use Oracle(R) Java(TM) 17, OpenJDK(TM) 17 to run Neo4j.
* Please see https://neo4j.ac.cn/docs/ for Neo4j installation instructions.

要解决此问题,可以手动安装 Java 17,然后卸载 OpenJDK 19 或将 Java 17 设置为默认版本。

  1. 运行以下命令手动安装 OpenJDK 17:

    sudo apt install openjdk-17-jre

    对于其他 Java 17 发行版,请参阅 Java 先决条件

  2. 选择以下选项之一将其设置为默认版本:

    • 卸载 OpenJDK 19

      sudo apt remove openjdk-19-jre-headless
    • 如果你想保留已安装的 OpenJDK 19,请按照 处理多个已安装的 Java 版本 中的说明将 Java 17 设置为默认版本。

离线安装

如果你无法访问 https://debian.neo4j.com(例如,由于防火墙),则需要通过具有相关访问权限的其他机器获取 Neo4j,然后手动移动软件包。

请注意,使用此方法意味着离线机器将不会接收使用 `apt` 安装 Neo4j 时通常自动下载和安装的依赖项;Cypher Shell 和 Java(如果尚未安装)。

  1. 运行以下命令下载所需的 Debian 软件包:

    • Neo4j 企业版

      curl -O https://dist.neo4j.org/deb/neo4j-enterprise_5.25.1_all.deb

      要列出 Debian 软件包(`.deb` 文件)安装的所有文件:

      dpkg --contents neo4j_5.25.1_all.deb
    • Neo4j 社区版

      curl -O https://dist.neo4j.org/deb/neo4j_5.25.1_all.deb
  2. 手动将下载的 Debian 软件包移动到离线机器。

  3. 在离线机器上运行以下命令以安装 Neo4j:

    sudo dpkg -i <deb file name>

文件位置

所有 Neo4j 软件包的文件位置都记录在 此处

操作

大多数 Neo4j 配置都位于 neo4j.conf 中。

对于使用 `systemd` 的操作系统,一些特定于软件包的选项设置在 neo4j.service 中,可以使用 `systemctl edit neo4j.service` 进行编辑。

对于不使用 `systemd` 的操作系统,一些特定于软件包的选项设置在 /etc/default/neo4j 中。

环境变量 默认值 详细信息

NEO4J_SHUTDOWN_TIMEOUT

120

等待 Neo4j 停止时的超时时间(以秒为单位)。如果花费的时间超过此时间,则认为关闭已失败。如果系统提供长时间运行的事务,则可能需要增加此值。

NEO4J_ULIMIT_NOFILE

60000

Neo4j 进程可以打开的文件句柄的最大数量。

系统启动时自动启动服务

在基于 Debian 的发行版上,运行以下命令以确保 Neo4j 在启动时自动启动:

sudo systemctl enable neo4j

在首次启动数据库之前,建议使用 `neo4j-admin` 的 `set-initial-password` 命令定义本机用户 `neo4j` 的密码。

如果没有使用此方法显式设置密码,则它将设置为默认密码 `neo4j`。在这种情况下,系统会在第一次登录时提示你更改默认密码。

有关更多信息,请参阅 设置初始密码

有关操作 Neo4j 系统服务的更多信息,请参阅 Neo4j 系统服务

卸载 Neo4j

请按照以下步骤卸载 Neo4j:

  1. (可选)创建 备份 以避免丢失数据。

  2. 卸载 Neo4j:

    ---
    sudo apt remove neo4j
    ---