通过为 Vertica 部署手动创建数据库群集,您可以自定义 VM 以满足您的特定需求。当部署 Vertica 群集以托管 Eon 模式数据库时,您通常需要手动配置 VM。
要开始使用手动步骤在 Azure 中创建 Vertica 群集,您首先需要创建一个 VM。在 VM 创建过程中,您可以创建和配置群集所需的其他资源,这些资源随后可用于您创建的任何其他 VM。
此部分中的主题介绍如何在 Azure 上手动部署 Vertica。
通过为 Vertica 部署手动创建数据库群集,您可以自定义 VM 以满足您的特定需求。当部署 Vertica 群集以托管 Eon 模式数据库时,您通常需要手动配置 VM。
要开始使用手动步骤在 Azure 中创建 Vertica 群集,您首先需要创建一个 VM。在 VM 创建过程中,您可以创建和配置群集所需的其他资源,这些资源随后可用于您创建的任何其他 VM。
此部分中的主题介绍如何在 Azure 上手动部署 Vertica。
Vertica 支持一系列 Microsoft Azure 虚拟机 (VM) 类型,每种类型都针对不同的目的进行了优化。作为用户,选择最符合您的性能和价格需求的 VM 类型。
为了在大多数常见情况下获得最佳性能,请使用以下 VM 之一:
为了获得最佳性能,当在 Azure 上部署 Vertica 时,请使用以下操作系统之一:
Red Hat 7.3 或更高版本
CentOS 7.3 或更高版本。从撰写本文(2017 年 6 月)开始,Azure Marketplace 解决方案基于 CentOS 7.3.1611。
有关详细信息,请参阅支持的平台。
Azure VM 类似于传统主机。与内部部署群集一样,您必须在安装 Vertica 之前为群集和网络准备和配置硬件设置。
最初的步骤包括:
从 Azure 市场中,选择 Vertica 支持的操作系统。
选择 VM 类型。请参阅推荐的 Azure VM 类型。
选择部署模型。为获得最佳结果,请选择资源管理器部署模型。
Vertica 具有特定的网络安全组要求,如 网络安全组配置中所述。
按照这些指导原则,创建并命名您自己的网络安全组。
您必须将 SSH 配置为:
协议:TCP
源端口范围:任意
目标端口范围:22
来源:任意
目标:任意
您可以根据特定的要求进行其他修改。
创建一个 Azure 存储帐户,该帐户稍后包含群集存储磁盘容器。
为了获得最佳吞吐量,请选择“高级存储 (Premium storage)”,并根据所选的 VM 类型调整存储。
有关存储帐户是什么以及如何创建存储帐户的详细信息,请参阅关于 Azure 存储帐户。
对于企业模式数据库部署,请配置足够的空间。
创建密码或分配 SSH 密钥对以用于 Vertica。
有关如何在 Azure 中使用密钥对的信息,请参阅如何在 Azure 中为 Linux VM 创建和使用 SSH 公钥和私钥对。
公共 IP 是可用于从外部连接到群集的 IP 地址。为了获得最佳结果,请将单个静态公共 IP 分配给群集中的节点。然后,您可以使用 Azure 在您指定虚拟网络设置时生成的内部 IP 地址,从主节点连接到群集中的其他节点。
默认情况下,公共 IP 地址是动态的;每次关闭服务器时它都会更改。您可以选择静态 IP 地址,但这样做会增加部署成本。
在 VM 安装期间,您无法设置 DNS 名称。如果使用动态公共 IP,请在部署后在每个 VM 的公共 IP 资源中设置 DNS 名称。
有关公共 IP 地址的信息,请参阅 Azure 中的 IP 地址类型和分配方法。
如果需要,要创建其他 VM,请重复本文档中前面的说明。
在您可以连接到您创建的任何 VM 之前,您必须先使虚拟网络可以从外部访问。为此,必须将在网络配置期间创建的公共 IP 地址连接到您的 VM 之一。
要连接到您的 VM,请完成以下任务:
使用在配置步骤中创建的公共 IP 地址,通过 SSH 连接到您的 VM。
使用在 VM 创建过程中指定的凭据和身份验证方法进行身份验证。
首先使用 SSH 连接到公共连接的 VM,从而连接到虚拟网络中的其他虚拟机。然后,从该 VM 再次使用 SSH 通过其他 VM 的专用 IP 地址进行连接。
如果您使用的是私钥身份验证,则可能需要将密钥文件移动到公共连接的 VM 的根目录中。然后,使用 PuTTY 或 WinSCP 连接到虚拟网络中的其他 VM。
创建 VM 后,您需要准备它们以形成群集。
通过将私钥(如果使用的话)添加到每个节点和 Vertica 许可证来准备节点。这些步骤假定您配置的初始用户是 DBADMIN 用户。
以 dbadmin 用户身份将私钥文件从本地保存位置复制到主节点。
根据您用于复制文件的过程,文件的权限可能会发生更改。如果权限发生更改,install_vertica
脚本将失败,并显示类似以下内容的消息:
Failed Login Validation 10.0.2.158, cannot resolve or connect to host as root.
如果收到失败消息,请输入以下命令来更正私钥文件的权限:
$ chmod 600 /<name-of-key>.pem
将 Vertica 许可证复制到主 VM。将其保存在主目录或其他已知位置。
除了进行 Vertica 标准软件包依赖项以外,您还必须以 root 用户身份安装以下软件包,然后才能在 Azure 上安装 Vertica:
pstack
mcelog
sysstat
dialog
使用专用的 Azure 存储帐户进行节点存储。
root
卷上,特别是 data
和 catalog
目录。将信息存储在 root
卷上可能会导致数据丢失。
当配置存储时,请确保使用受支持的文件系统。有关详细信息,请参阅推荐的存储格式类型。
使用您先前创建的存储帐户,将磁盘容器连接到所需的 VM。
为获得最佳性能,请将多个存储卷组合到 RAID-0。对于大多数 RAID-0 实施,每个 VM 连接 6 个存储磁盘容器。
如果您使用 RAID,请按照以下步骤在 VM 上创建 RAID-0 驱动器。以下示例展示了如何从如下 6 个单独的卷中创建一个名为 md10
的 RAID-0 卷:
sdc
sdd
sde
sdf
sdg
sdh
使用 mdadm
实用程序生成一个 RAID-0 卷:
$ mdadm --create /dev/md10 --level 0 --raid-devices=6 \
/dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh
将文件系统格式化为 Vertica 支持的文件系统:
$ mkfs.ext4 /dev/md10
使用 blkid
命令在新生成的 RAID 卷上查找 UUID。在输出中,查找您分配给 RAID 卷的设备:
$ blkid
. . .
/dev/md10 : UUID="e7510a6f-2922-4413-b5fa-9dcd725967fd" TYPE="ext4" PARTUUID="fb9b7449-08c3-4231-9ee5-086f7b0c9001"
. . .
RAID 设备可以在重启后重命名。为确保文件系统挂载在 VM 上的可预测位置,请创建一个目录用作挂载点以挂载文件系统。例如,您可以选择创建一个名为 /data
的挂载点,用于存储数据库的编录和数据或(如果您在 Eon 模式下运行 Vertica)存储库。
$ mkdir /data
使用文本编辑器,在 /etc/fstab
文件中为文件系统的 UUID 和挂载点添加一个条目,以便在系统启动时挂载它:
UUID=RAID_UUID mountpoint ext4 defaults,nofail,nobarrier 0 2
例如,如果您有上一个示例中显示的 UUID 和挂载点 /data
,则将以下行添加到 /etc/fstab
文件中:
UUID=e7510a6f-2922-4413-b5fa-9dcd725967fd /data ext4 defaults,nofail,nobarrier 0 2
挂载您添加到 fstab 文件的 RAID 文件系统。例如,要挂载一个名为 /data
的挂载点,请使用以下命令:
$ mount /data
在挂载点下为您的 Vertica 数据和编录创建文件夹。
$ mkdir /data/vertica
$ mkdir /data/vertica/data
如果您计划在 Eon 模式下运行 Vertica,请为存储库(而不是数据)创建一个目录:
$ mkdir /data/vertica/depot
除了用于存储数据的存储卷,Vertica 还需要交换卷或交换文件才能运行。
创建至少 2 GB 的交换文件或交换卷。以下步骤展示了如何在 Azure 上的 Vertica 中创建交换文件:
安装 devnull 和交换文件:
$ install -o root -g root -m 0600 /dev/null /swapfile
创建交换文件:
$ dd if=/dev/zero of=/swapfile bs=1024 count=2048k
使用 mkswap
准备交换文件:
$ mkswap /swapfile
使用 swapon
指示 Linux 在交换文件上进行交换:
$ swapon /swapfile
将交换文件保留在 FSTAB 中:
$ echo "/swapfile swap swap auto 0 0" >> /etc/fstab
对群集中的每个 VM 重复卷附加、组合和交换文件创建过程。
要下载适合您的操作系统和许可证类型的 Vertica 服务器,请访问 www.vertica.com/download/vertica。
运行 rpm 以提取文件。
完成下载和提取后,下一节将介绍如何使用 install_vertica
脚本形成群集并安装 Vertica 数据库软件。
使用 install_vertica
脚本将两个或多个单独的 VM 组合成一个群集并安装 Vertica 数据库。
在运行 install_vertica
脚本之前:
查看 虚拟网络 (Virtual Network) 页面,以获取当前 VM 及其关联私有 IP 地址的列表。
确定您的存储位置。安装程序假定您已将存储挂载到 /vertica/data
。要指定另一个位置,请使用 --data-dir
实参。
确定您的存储位置。要在挂载的 RAID 驱动器上创建数据库的 data
目录,请在运行 install_vertica
脚本时,提供 /vertica/data
作为 --data-dir
选项的值。
以下示例显示如何使用 install_vertica
脚本组合 VM。
当连接到主节点时,构造以下命令以将节点组合为一个群集。
$ sudo /opt/vertica/sbin/install_vertica --hosts 10.2.0.164,10.2.0.165,10.2.0.166 --dba-user-password-disabled --point-to-point --data-dir /vertica/data --ssh-identity ~/<name-of-private-key>.pem --license <license.file>
替换 VM 的 IP 地址并包括您的根密钥文件名(如果适用)。
使用 --point-to-point
参数将 spread 配置为在所有 Vertica 节点之间使用直接的点对点通信。安装或更新 Vertica 时,需对 Azure 上的群集执行此操作。
如果您使用的是 Vertica 社区版(它限制您只能使用三个节点),请指定 -L CE
而不使用许可证文件。
合并节点后,为了降低安全风险,请将密钥文件保存在安全的位置(与群集分开)并使用 shred 命令删除群集上的密钥:
$ shred examplekey.pem
重启群集以完成群集形成和 Vertica 安装过程。
有关 install_vertica
脚本及其参数的完整信息,请参阅使用安装脚本安装 Vertica。
现在,您的群集已配置并且正在运行,请执行以下步骤:
使用数据库管理员帐户(默认名为 dbadmin)登录到其中一个数据库节点。
创建并启动数据库:
配置您的数据库。请参阅配置数据库。