您可以在自己的网络(也称为“本地”)中安装 Vertica,并让它在 Eon 模式下运行。有关 Eon 模式的详细信息,请参阅 Eon 模式概念。在 Eon 模式本地配置中,Vertica 将您网络中托管的对象存储用于公共存储。有关 Vertica 支持用于公共存储的对象存储列表,请参阅 Eon 内部部署存储。
为 Eon 模式本地部署安装 Vertica 时,遵循为本地企业模式部署安装 Vertica 的相同步骤。当您创建数据库时,两者之间的实际差别就显示出来了。
您可以在自己的网络(也称为“本地”)中安装 Vertica,并让它在 Eon 模式下运行。有关 Eon 模式的详细信息,请参阅 Eon 模式概念。在 Eon 模式本地配置中,Vertica 将您网络中托管的对象存储用于公共存储。有关 Vertica 支持用于公共存储的对象存储列表,请参阅 Eon 内部部署存储。
为 Eon 模式本地部署安装 Vertica 时,遵循为本地企业模式部署安装 Vertica 的相同步骤。当您创建数据库时,两者之间的实际差别就显示出来了。
在将 Pure Storage FlashBlade 作为与 S3 兼容的公共存储的情况下,可以通过以下两个选项来安装 Eon 模式内部部署数据库:
使用 admintools 命令行: 使用 Vertica admintools 命令行完成本主题中的所有步骤。
使用管理控制台:执行在 MC 中使用 FlashBlade 内部创建 Eon 模式数据库中的步骤。
要将 Pure Storage FlashBlade 设备用作 Eon 模式数据库的公共存储位置,您必须具有:
FlashBlade 设备的 IP 地址。如果 FlashBlade 未使用标准端口 80 或 443 访问存储桶,您还必须具有连接端口号。Vertica 群集中的所有节点都必须能够访问此 IP 地址。确保 FlashBlade 设备和节点之间的所有防火墙都配置为允许访问。
FlashBlade 上用于公共存储的存储桶名称。
对存储桶具有读写访问权限的用户帐户的访问密钥和密钥。
有关如何创建存储桶和公共存储位置所需的访问密钥的说明,请参阅 Pure Storage 支持站点。
要安装 Vertica:
通过查看 在安装 Vertica 之前 部分中的所有内容,确保节点配置正确。
使用 install_vertica
脚本验证节点是否已正确配置并在所有节点上安装 Vertica 二进制文件。按照使用命令行安装所述步骤安装 Vertica。
在创建 Eon 模式内部部署数据库之前,您必须创建一个授权文件,admintools 将使用该文件向 FlashBlade 存储进行身份验证。
在将运行 admintools 以创建数据库的 Vertica 节点上,使用文本编辑器创建一个文件。您可以随意命名此文件。在这些步骤中,将它命名为 auth_params.conf
。此文件的位置并不重要,只要它可供用于创建数据库的 Linux 用户(通常是 dbadmin)读取即可。
auth_params.conf
文件包含用于访问 Eon 模式数据库数据所在存储桶的密钥。此信息属于敏感信息,可用于访问数据库中的原始数据。请确保此文件无法由未经授权的用户读取。创建数据库后,您可以删除此文件。
向此文件中添加以下各行:
awsauth = FlasbBlade_Access_Key:FlashBlade_Secret_Key
awsendpoint = FlashBladeIp:FlashBladePort
awsendpoint
设置中提供端口号。
如果不对 Vertica 和 FlashBlade 之间的连接使用 TLS 加密,请向此文件中添加以下各行:
awsenablehttps = 0
保存此文件并退出编辑器。
使用此示例 auth_params.conf
文件,可以通过标准端口 80 在 Vertica 群集与 IP 地址为 10.10.20.30 的 FlashBlade 设备之间建立非加密连接。
awsauth = PIWHSNDGSHVRPIQ:339068001+e904816E02E5fe9103f8MQOEAEHFFVPKBAAL
awsendpoint = 10.10.20.30
awsenablehttps = 0
在每个节点上,为存储库存储路径选择或创建一个目录。您为存储库存储路径参数提供的目录必须:
在群集中的所有节点上具有相同的路径(即 /home/dbadmin/depot
)。
可由 dbadmin 用户读写。
具有足够的存储空间。默认情况下,Vertica 将包含该目录的文件系统空间的 60% 用于存储库的存储。您可以使用 create_db 命令中的 --depot-size
实参来限制存储库的大小。有关为存储库选择大小的准则,请参阅为 Eon 模式配置 Vertica 群集。
如果存储库路径不存在,admintools create_db 工具将尝试为您创建存储库路径。
使用 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'
创建数据库后,禁用 AWSStreamingConnectionPercentage 配置参数。对于使用 Set Snippet Variable Value in Topic 上公共存储的内部 Eon 模式安装,此设置并非必要。此配置参数控制 Vertica 用于流式读取的对象存储的连接数。在云环境中,此设置有助于避免来自对象存储的流式数据传输耗尽所有可用的文件句柄。它为其他对象存储操作留下了一些可用的文件句柄。由于内部部署对象存储的延迟较低,因此,此选项并非必要。将其设置为 0 以禁用它。
以下示例显示如何使用 ALTER DATABASE...SET PARAMETER 禁用此参数:
=> ALTER DATABASE DEFAULT SET PARAMETER AWSStreamingConnectionPercentage = 0;
ALTER DATABASE
FlashBlade 对象存储的性能足够快,可以考虑禁用 Vertica 数据库中的存储库。如果禁用存储库,则可以在节点上使用更少的本地存储。但是,禁用存储库始终会对性能产生影响。确切的影响主要取决于在数据库上运行的工作负载类型。可能会导致查询性能降低 30% 到 4000%。只有当降低节点存储要求会获得显著的好处时,才应考虑禁用存储库。在针对生产数据库禁用存储库之前,请始终运行概念验证测试,让该测试执行与生产数据库相同的工作负载。
要禁用存储库,请将 UseDepotForReads 配置参数设置为 0。以下示例演示了如何使用 ALTER DATABASE...SET PARAMETER 禁用此参数:
=> ALTER DATABASE DEFAULT SET PARAMETER UseDepotForReads = 0;
ALTER DATABASE
要将 MinIO 用作 Eon 模式数据库的公共存储位置,必须具备:
MinIO 群集的 IP 地址和端口号。MinIO 的默认端口号是 9000。在 Eon 模式下运行的 Vertica 数据库在默认情况下使用端口 80 进行非加密连接,使用端口 443 进行 TLS 加密连接。Vertica 群集中的所有节点都必须能够访问 MinIO 群集的 IP 地址。确保 MinIO 群集和节点之间的任何防火墙都配置为允许访问。
MinIO 群集上用于公共存储的存储桶的名称。
对存储桶具有读写访问权限的用户帐户的访问密钥和密钥。
有关如何创建公共存储位置所需的存储桶和访问密钥的说明,请参阅 MinIO 文档。
要安装 Vertica:
通过查看 在安装 Vertica 之前 部分中的所有内容,确保节点配置正确。
使用 install_vertica
脚本验证节点是否已正确配置并在所有节点上安装 Vertica 二进制文件。按照使用命令行安装所述步骤安装 Vertica。
在创建 Eon 模式内部部署数据库之前,必须创建一个授权文件,admintools 将使用该文件向 MinIO 存储群集进行身份验证。
在将运行 admintools 以创建数据库的 Vertica 节点上,使用文本编辑器创建一个文件。您可以随意命名此文件。在这些步骤中,将它命名为 auth_params.conf
。此文件的位置并不重要,只要它可供用于创建数据库的 Linux 用户(通常是 dbadmin)读取即可。
auth_params.conf
文件包含用于访问 Eon 模式数据库数据所在存储桶的密钥。此信息属于敏感信息,可用于访问数据库中的原始数据。请确保此文件无法由未经授权的用户读取。创建数据库后,您可以删除此文件。
向此文件中添加以下各行:
awsauth = MinIO_Access_Key:MinIO_Secret_Key
awsendpoint = MinIOIp:MinIOPort
awsendpoint
设置中提供端口号。默认情况下,MinIO 使用端口 9000。
如果不对 Vertica 和 MinIO 之间的连接使用 TLS 加密,请向此文件中添加下行:
awsenablehttps = 0
保存此文件并退出编辑器。
使用此示例 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 工具将尝试为您创建存储库路径。
使用 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'
创建数据库后,禁用 AWSStreamingConnectionPercentage 配置参数。对于使用 Set Snippet Variable Value in Topic 上公共存储的内部 Eon 模式安装,此设置并非必要。此配置参数控制 Vertica 用于流式读取的对象存储的连接数。在云环境中,此设置有助于避免来自对象存储的流式数据传输耗尽所有可用的文件句柄。它为其他对象存储操作留下了一些可用的文件句柄。由于内部部署对象存储的延迟较低,因此,此选项并非必要。将其设置为 0 以禁用它。
以下示例显示如何使用 ALTER DATABASE...SET PARAMETER 禁用此参数:
=> ALTER DATABASE DEFAULT SET PARAMETER AWSStreamingConnectionPercentage = 0;
ALTER DATABASE
要将 HDFS 用作 Eon 模式数据库的公共存储位置,必须:
运行 WebHDFS 服务。
如果使用的是 Kerberos,请按照 Kerberos 身份验证中所述为 Vertica(系统)用户创建 Kerberos 主体,并授予它对 HDFS 中用来放置公共存储的位置的读写访问权限。Vertica 将始终使用此系统主体访问公共存储。
如果使用的是高可用性名称节点或 swebhdfs,请按照配置 HDFS 访问中所述将 HDFS 配置文件分发到所有 Vertica 节点。即使不针对公共存储使用 hdfs 架构,此步骤也是必要步骤。
如果使用的是 swebhdfs(线路加密)而不是 webhdfs,请使用 Vertica 主机信任的证书配置 HDFS 群集,并在 hdfs-site.xml 中设置 dfs.encrypt.data.transfer。
Vertica 对静态加密没有其他要求。有关如何为 WebHDFS 配置静态加密的信息,请参阅 Hadoop 发行版的文档。
要安装 Vertica:
通过查看 在安装 Vertica 之前 部分中的所有内容,确保节点配置正确。
使用 install_vertica
脚本验证节点是否已正确配置并在所有节点上安装 Vertica 二进制文件。按照使用命令行安装所述步骤安装 Vertica。
在创建 Eon 模式内部部署数据库之前,您必须创建一个引导文件来指定创建数据库所需的参数。如果使用的是 Kerberos、高可用性名称节点或 TLS(线路加密),则此步骤适用。
在将运行 admintools 以创建数据库的 Vertica 节点上,使用文本编辑器创建一个文件。您可以随意命名此文件。在这些步骤中,将它命名为 bootstrap_params.conf
。此文件的位置并不重要,只要它可供用于创建数据库的 Linux 用户(通常是 dbadmin)读取即可。
向此文件中添加以下各行。HadoopConfDir 通常设置为 /etc/hadoop/conf
;KerberosServiceName 通常设置为 vertica
。
HadoopConfDir = config-path
KerberosServiceName = principal-name
KerberosRealm = realm-name
KerberosKeytabFile = keytab-path
如果不使用 HA 名称节点(例如在测试环境中),则可以忽略 HadoopConfDir 并在指定公共存储位置时使用显式名称节点主机和端口。
保存此文件并退出编辑器。
在每个节点上,为存储库存储路径选择或创建一个目录。您为存储库存储路径参数提供的目录必须:
在群集中的所有节点上具有相同的路径(即 /home/dbadmin/depot
)。
可由 dbadmin 用户读写。
具有足够的存储空间。默认情况下,Vertica 将包含该目录的文件系统空间的 60% 用于存储库的存储。您可以使用 create_db 命令中的 --depot-size
实参来限制存储库的大小。有关为存储库选择大小的准则,请参阅为 Eon 模式配置 Vertica 群集。
如果存储库路径不存在,admintools create_db 工具将尝试为您创建存储库路径。
使用 admintools create_db 工具创建数据库。必须向此工具传递以下实参:
一些常见的可选实参包括:
要查看 create_db 工具的所有实参,请运行以下命令:
admintools -t create_db --help
以下示例演示了如何创建名为 verticadb 的三节点数据库,指定存储库将存储在 dbadmin 用户的主目录中。
$ admintools -t create_db -x bootstrap_params.conf \
--communal-storage-location=webhdfs://mycluster/verticadb \
--depot-path=/home/dbadmin/depot --shard-count=6 \
-s vnode01,vnode02,vnode03 -d verticadb -p 'YourPasswordHere'
如果不使用 HA 名称节点(例如在测试环境中),则可以使用显式名称节点主机和端口作为 --communal-storage-location,如下例所示。
$ admintools -t create_db -x bootstrap_params.conf \
--communal-storage-location=webhdfs://namenode.hadoop.example.com:50070/verticadb \
--depot-path=/home/dbadmin/depot --shard-count=6 \
-s vnode01,vnode02,vnode03 -d verticadb -p 'YourPasswordHere'