在 Vertica 主机上安装 Java

如果您使用的是用 Java 编写的 UDx,请按照本节中的说明进行操作。

必须在群集中的每个主机上安装 Java 虚拟机 (Java Virtual Machine, JVM),以使 Vertica 能够执行 Java UDx。

在 Vertica 群集上安装 Java 分为两步:

  1. 在群集中的所有主机上安装 Java 运行时。

  2. 设置 JavaBinaryForUDx 配置参数,让 Vertica 了解 Java 可执行文件的位置。

对于基于 Java 的功能,Vertica 要求使用 64 位 Java 6(Java 版本 1.6)或更高版本 Java 运行时。Vertica 支持 Oracle 或 OpenJDK 中的运行时。您可以选择安装 Java 运行时环境 (JRE) 或者 Java 开发工具包 (JDK),因为 JDK 还包括 JRE。

许多 Linux 分发版都含有一个 OpenJDK 运行时包。有关安装和配置 OpenJDK 的信息,请参阅您的 Linux 分发版的文档。

要安装 Oracle Java 运行时,请参阅 Java Standard Edition (SE) 下载页。您通常需要以 root 身份运行安装包才能安装它。有关说明,请参阅下载页。

如果已经在每台主机上安装了 JVM,请确保 java 命令位于搜索路径中,而且通过运行以下命令来调用正确的 JVM:

$ java -version

此命令的输出类似如下内容:

java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

设置 JavaBinaryForUDx 配置参数

JavaBinaryForUDx 配置参数可以让 Vertica 了解到执行 Java UDx 的 JRE 的位置。在群集中的所有节点上安装 JRE 后,请将此参数设置为 Java 可执行文件的绝对路径。您可以使用 Java 安装程序创建的符号链接(例如 /usr/bin/java)。如果 Java 可执行文件位于 shell 搜索路径中,您可以从 Linux 命令行 shell 中运行以下命令来获得 Java 可执行文件的路径。

$ which java
/usr/bin/java

如果 java 命令不在 shell 搜索路径中,请使用 JRE 安装目录中的 Java 可执行文件路径。假设您已在 /usr/java/default 中安装了 JRE(Oracle 提供的安装包会在此安装 Java 1.6 JRE)。在此情况下,Java 可执行文件为 /usr/java/default/bin/java

要设置配置参数,您可以 数据库超级用户身份执行以下语句:

=> ALTER DATABASE DEFAULT SET PARAMETER JavaBinaryForUDx = '/usr/bin/java';

有关设置配置参数的详细信息,请参阅 ALTER DATABASE

要查看配置参数的当前设置,请查询 CONFIGURATION_PARAMETERS 系统表:

=> \x
Expanded display is on.
=> SELECT * FROM CONFIGURATION_PARAMETERS WHERE parameter_name = 'JavaBinaryForUDx';
-[ RECORD 1 ]-----------------+----------------------------------------------------------
node_name                     | ALL
parameter_name                | JavaBinaryForUDx
current_value                 | /usr/bin/java
default_value                 |
change_under_support_guidance | f
change_requires_restart       | f
description                   | Path to the java binary for executing UDx written in Java

设置配置参数后,Vertica 可以在群集中的每个节点上查找 Java 可执行文件。