在 MinIO 上使用公共存储安装 Eon 模式内部部署数据库

步骤 1:在 MinIO 上创建存储桶和凭据

要将 MinIO 用作 Eon 模式数据库的公共存储位置,必须具备:

  • MinIO 群集的 IP 地址和端口号。MinIO 的默认端口号是 9000。在 Eon 模式下运行的 Vertica 数据库在默认情况下使用端口 80 进行非加密连接,使用端口 443 进行 TLS 加密连接。Vertica 群集中的所有节点都必须能够访问 MinIO 群集的 IP 地址。确保 MinIO 群集和节点之间的任何防火墙都配置为允许访问。

  • MinIO 群集上用于公共存储的存储桶的名称。

  • 对存储桶具有读写访问权限的用户帐户的访问密钥和密钥。

有关如何创建公共存储位置所需的存储桶和访问密钥的说明,请参阅 MinIO 文档

要安装 Vertica:

  1. 通过查看 在安装 Vertica 之前 部分中的所有内容,确保节点配置正确。

  2. 使用 install_vertica 脚本验证节点是否已正确配置并在所有节点上安装 Vertica 二进制文件。按照使用命令行安装所述步骤安装 Vertica。

步骤 3:创建授权文件

在创建 Eon 模式内部部署数据库之前,必须创建一个授权文件,admintools 将使用该文件向 MinIO 存储群集进行身份验证。

  1. 在将运行 admintools 以创建数据库的 Vertica 节点上,使用文本编辑器创建一个文件。您可以随意命名此文件。在这些步骤中,将它命名为 auth_params.conf。此文件的位置并不重要,只要它可供用于创建数据库的 Linux 用户(通常是 dbadmin)读取即可。

  2. 向此文件中添加以下各行:

    awsauth = MinIO_Access_Key:MinIO_Secret_Key
    awsendpoint = MinIOIp:MinIOPort
    
  3. 如果不对 Vertica 和 MinIO 之间的连接使用 TLS 加密,请向此文件中添加下行:

    awsenablehttps = 0
    
  4. 保存此文件并退出编辑器。

使用此示例 auth_params.conf 文件,可以通过端口 9000(这是 MinIO 的默认端口)在 Vertica 群集与 IP 地址为 10.20.30.40 的 MinIO 群集之间建立非加密连接。

awsauth = PIWHSNDGSHVRPIQ:339068001+e904816E02E5fe9103f8MQOEAEHFFVPKBAAL
awsendpoint = 10.20.30.40:9000
awsenablehttps = 0

在每个节点上,为存储库存储路径选择或创建一个目录。您为存储库存储路径参数提供的目录必须:

  • 在群集中的所有节点上具有相同的路径(即 /home/dbadmin/depot)。

  • 可由 dbadmin 用户读写。

  • 具有足够的存储空间。默认情况下,Vertica 将包含该目录的文件系统空间的 60% 用于存储库的存储。您可以使用 create_db 命令中的 --depot-size 实参来限制存储库的大小。有关为存储库选择大小的准则,请参阅为 Eon 模式配置 Vertica 群集

如果存储库路径不存在,admintools create_db 工具将尝试为您创建存储库路径。

步骤 5:创建 Eon 内部部署数据库

使用 admintools create_db 工具创建数据库。必须向此工具传递以下实参:

一些常见的可选实参包括:

要查看 create_db 工具的所有实参,请运行以下命令:

admintools -t create_db --help

以下示例演示了如何创建名为 verticadb 的三节点数据库,指定存储库将存储在 dbadmin 用户的主目录中。

$ admintools -t create_db -x auth_params.conf \
  --communal-storage-location=s3://verticadbbucket \
  --depot-path=/home/dbadmin/depot  --shard-count=6 \
  -s vnode01,vnode02,vnode03 -d verticadb -p 'YourPasswordHere'

步骤 6:禁用流式传输限制

创建数据库后,禁用 AWSStreamingConnectionPercentage 配置参数。对于使用 Set Snippet Variable Value in Topic 上公共存储的内部 Eon 模式安装,此设置并非必要。此配置参数控制 Vertica 用于流式读取的对象存储的连接数。在云环境中,此设置有助于避免来自对象存储的流式数据传输耗尽所有可用的文件句柄。它为其他对象存储操作留下了一些可用的文件句柄。由于内部部署对象存储的延迟较低,因此,此选项并非必要。将其设置为 0 以禁用它。

以下示例显示如何使用 ALTER DATABASE...SET PARAMETER 禁用此参数:

=> ALTER DATABASE DEFAULT SET PARAMETER AWSStreamingConnectionPercentage = 0;
ALTER DATABASE