图数据库 – 一只橙梓一个窝 https://blog.orangii.cn 可能会长出二叉树? Fri, 04 Feb 2022 03:32:05 +0000 zh-CN hourly 1 https://wordpress.org/?v=6.5.5 https://static.orangii.cn/avatar/logo.png 图数据库 – 一只橙梓一个窝 https://blog.orangii.cn 32 32 Debian及Debian-based系统安装Neo4j图数据库的安装文档汉化 https://blog.orangii.cn/2022/neo4j-installation-on-debian/ https://blog.orangii.cn/2022/neo4j-installation-on-debian/#respond Fri, 04 Feb 2022 03:32:00 +0000 https://blog.orangii.cn/?p=405 非官方地翻译了Neo4j在Debian和基于Debian系统的安装文档,水平有限翻译不一定准确。部分重要内容加粗以示。
最后编辑于2022/02/04

原文地址

https://neo4j.com/docs/operations-manual/current/installation/linux/debian/

安装

要在Debian上安装Neo4j你需要确保一下内容存在:

  • OpenJDK Java 11 运行环境已安装或可以通过软件包管理器安装
  • 包含 Neo4j Debian 包的仓库(repository)已添加到软件包管理

Java 环境的安装(仅在 Oracle Java, Debian 9+ and Ubuntu 16.04+ 时需要)

Neo4j 4.4 需要在 Java 11 运行环境下运行,但是 Java 11 在 Ubuntu 16.04 LTS 或 Debian 9 (stretch) 中并没有预装,因此在安装或升级至 Neo4j 4.4 前需要手动配置,方法如下。Debian 9 的用户可以在 backports 中找到 OpenJDK 11,Debian 10 及 Ubuntu 18.04 以上版本已经包含了 OpenJDK 11 的包,可以通过 apt 获取 OpenJDK 11。

Oracle Java 与 Debian

Neo4j 与 Debian/Ubuntu Linux 上的 Oracle Java 兼容,但应该通过 tarball 来安装。Debian 的安装程序仍然可以使用,但它会在任何现有的 Java 安装的环境之外安装 OpenJDK Java 11。

Debian 9 上的 Java 11

Java 11 必须在 Neo4j 安装到 Debain 9 (stretch) 系统之前安装好。如果你还没有安装 Java 11,可以使用以下命令安装 OpenJDK Java 11:

echo "deb http://httpredir.debian.org/debian stretch-backports main" | sudo tee -a /etc/apt/sources.list.d/stretch-backports.list
sudo apt-get update
sudo apt-get install openjdk-11-jre

如果你已经安装了其他版本的 Java,请查看应对多版本Java存在的方案以保证 Java 11 是默认版本。现在我们就可以开始安装 Neo4j 啦!

Ubuntu 16.04 中的 Java 11

注:Ubuntu 18.04, 20.04 等新版本都包含在内

将官方 OpenJDK 包仓库添加到 apt

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

现在就已经可以开始安装 Neo4j 数据库了,如果 Java 11 未安装则安装过程会自动安装它。请查看应对多版本Java存在的方案以保证你可以在安装完成后启动 Neo4j。

应对多版本Java存在的方案

很重要的是,你要配置默认 Java 版本为 Java 11,否则 Neo4j 4.4.3 将不能启动。想要如此配置,需要使用 update-java-alternatives 命令

  • 首先通过 update-java-alternatives --list 命令列出所有你已安装的 Java 版本。结果可能不同,但示例如下:
    java-1.11.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.11.0-openjdk-amd64
    java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
  • 确认你的 Java 11 版本的名字,在此案例中为 java-1.11.0-openjdk-amd64,然后使用以下命令将其设置为默认(修改 <java11name> 为刚刚查到的名字)。
    sudo update-java-alternatives --jre --set <java11name>

添加仓库

Debian 包可以在 https://debian.neo4j.com/ 找到。

要使用 Neo4j 的普遍(general)版本的仓库,请运行:

wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
echo 'deb 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 apt-key add -
echo 'deb https://debian.neo4j.com stable 4.4' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
sudo apt-get update

仓库添加到 apt 后,可以通过以下命令检查你可以安装的 Neo4j 的版本。

apt list -a neo4j

如果你是要安装到 Ubuntu 的服务器上那么你也需要确保已经启用 universe 仓库。如果 universe 没有被找到,Neo4j 的安装产生这个错误:Depends: daemon but it is not installable.

你可以使用以下命令解决:

sudo add-apt-repository universe

安装 Neo4j

要安装社区版本(Community Edition)的 Neo4j,请运行:

sudo apt-get install neo4j=1:4.4.3

若是安装企业版(Enterprise Edition),请运行:

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

需要小注意的是,根据Debian的版本政策,版本名中包括一个历时性版本组件(1:)。

还没有普遍可用(generally available)的Neo4j版本在命名上可能有所不同。

包的命名结构通常像这样:neo4j-enterprise=1:<version>~<release>。例如:Neo4j 企业版里程碑发布版 3 (Neo4j Enterprise Edition Milestone Release 3 )的命名会是 – neo4j-enterprise=1:4.0.0~beta03mr03

参考官方下载页以获得有关软件包名称的更多信息。

在安装 Neo4j 企业版时,你会被提示要接受许可协议。接受许可协议后,安装才会开始。你是否统一许可协议的结果将被记住,以便今后在同一系统上安装。

要忘记已存储的结果,并在之后的安装中重新回答,请使用 debconf-communicate 来清除已存储的回答信息。

echo purge | sudo debconf-communicate neo4j-enterprise

通过非交互式操作安装Neo4j企业版

对于 Neo4j 企业版来说,同意许可协议的窗口会以交互式的方式出现,如果你需要以非交互式的方式安装 Neo4j 企业版,你可以使用 debconf-set-selections 来表明你已经阅读并接受许可协议:

echo "neo4j-enterprise neo4j/question select I ACCEPT" | sudo debconf-set-selections
echo "neo4j-enterprise neo4j/license note" | sudo debconf-set-selections

离线安装

如果你的服务器(或者你的电脑)因为防火墙等什么的原因不能连接到 https://debian.neo4j.com,那么你需要在其他一台有能连接到对应仓库的设备先获取到 Neo4j,在手动将其移动到需要安装的设备。

需要注意的是,使用离线安装将意味着离线的设备不会下载和安装那些正常使用 apt 安装 Neo4j 时自动下载并安装的依赖包,例如 Cypher Shell 和 Java(没有安装 Java 时)

  1. 运行以下命令以下载必要的 Debian 包
    • Neo4j 企业版(Enterprise Edition)
      curl -O https://dist.neo4j.org/deb/neo4j-enterprise_4.4.3_all.deb
    • Neo4j 社区版(Community Edition)
      curl -O https://dist.neo4j.org/deb/neo4j_4.4.3_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_TIMEOUT120等待 Neo4j 停止的超时时间。如果停止时间超过此值就会被认为出现错误而失败。如果系统需要提供长运行时间事务(transaction),那么此值可能需要设置的更高。
NEO4J_ULIMIT_NOFILE60000Neo4j 进程可以打开的最大文件句柄数。
]]>
https://blog.orangii.cn/2022/neo4j-installation-on-debian/feed/ 0