这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

为 Vertica 数据库群集部署 AWS 实例

配置网络后,您就可以创建 AWS 实例并安装 Vertica。执行以下过程在 AWS 上安装和运行 Vertica。

1 - 配置并启动实例

在 AWS 上配置网络设置后,配置并启动要在其中安装 Vertica 的实例。没有 Vertica AMI 的 Elastic Compute Cloud (EC2) 实例类似于传统主机。与内部部署群集一样,您必须先在硬件级别准备和配置群集和网络,然后才能安装 Vertica。

当您使用 Vertica AMI 在 AWS 上创建 EC2 实例时,该实例包括 Vertica 软件和推荐的配置。Vertica 建议您使用未经修改的 Vertica AMI。Vertica AMI 充当模板,需要较少的配置步骤:

  1. 配置 EC2 实例

  2. 向实例添加存储

  3. (可选)将 EBS 卷配置为 RAID 阵列

  4. 设置安全组和 S3 访问权限

  5. 启动实例并验证它们是否正在运行。

在 AWS 中配置 EC2 实例

  1. 从 AWS Marketplace 中选择 Vertica AMI。

  2. 选择所需的实现方法。

  3. 配置以下内容:

向实例添加存储

向实例添加存储时,请考虑以下问题:

  • 添加与实例中物理核心数相等的驱动器数量,例如,对于 c3.8xlarge 实例,添加 16 个驱动器;对于 r3.4xlarge,添加 8 个驱动器。

  • 请勿将您的信息存储在根卷上。

  • Amazon EBS 提供持久的块级存储卷,您可以将其附加到正在运行的实例。有关选择和配置 Amazon EBS 卷类型的指导,请参阅 Amazon EBS 卷类型

将 EBS 卷配置为 RAID 阵列

您可以将 EBS 卷配置为 RAID 0 阵列以提高磁盘性能。在执行此操作之前,请使用 vioperf 实用程序来确定 EBS 卷的性能是否足够快,而无需在 RAID 阵列中使用它们。向 vioperf 传递指向 EBS 卷的挂载点的路径。在此示例中,EBS 卷挂载到名为 /vertica/data 的目录中:

[dbadmin@ip-10-11-12-13 ~]$ /opt/vertica/bin/vioperf /vertica/data

The minimum required I/O is 20 MB/s read and write per physical processor core on
each node, in full duplex i.e. reading and writing at this rate simultaneously,
concurrently on all nodes of the cluster. The recommended I/O is 40 MB/s per
physical core on each node. For example, the I/O rate for a server node with 2
hyper-threaded six-core CPUs is 240 MB/s required minimum, 480 MB/s recommended.

Using direct io (buffer size=1048576, alignment=512) for directory "/vertica/data"

test      | directory     | counter name        | counter | counter   | counter       | counter       | thread | %CPU  | %IO Wait  | elapsed | remaining
          |               |                     | value   | value (10 | value/core    | value/core    | count  |       |           | time (s)| time (s)
          |               |                     |         | sec avg)  |               | (10 sec avg)  |        |       |           |         |
--------------------------------------------------------------------------------------------------------------------------------------------------------
Write     | /vertica/data | MB/s                | 259     | 259       | 32.375        | 32.375        | 8      | 4     | 11        | 10      | 65
Write     | /vertica/data | MB/s                | 248     | 232       | 31            | 29            | 8      | 4     | 11        | 20      | 55
Write     | /vertica/data | MB/s                | 240     | 234       | 30            | 29.25         | 8      | 4     | 11        | 30      | 45
Write     | /vertica/data | MB/s                | 240     | 233       | 30            | 29.125        | 8      | 4     | 13        | 40      | 35
Write     | /vertica/data | MB/s                | 240     | 233       | 30            | 29.125        | 8      | 4     | 13        | 50      | 25
Write     | /vertica/data | MB/s                | 240     | 232       | 30            | 29            | 8      | 4     | 12        | 60      | 15
Write     | /vertica/data | MB/s                | 240     | 238       | 30            | 29.75         | 8      | 4     | 12        | 70      | 5
Write     | /vertica/data | MB/s                | 240     | 235       | 30            | 29.375        | 8      | 4     | 12        | 75      | 0
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 237+237 | 237+237   | 29.625+29.625 | 29.625+29.625 | 8      | 4     | 22        | 10      | 65
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 235+235 | 234+234   | 29.375+29.375 | 29.25+29.25   | 8      | 4     | 20        | 20      | 55
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 234+234 | 235+235   | 29.25+29.25   | 29.375+29.375 | 8      | 4     | 20        | 30      | 45
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 233+233 | 234+234   | 29.125+29.125 | 29.25+29.25   | 8      | 4     | 18        | 40      | 35
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 233+233 | 234+234   | 29.125+29.125 | 29.25+29.25   | 8      | 4     | 20        | 50      | 25
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 234+234 | 235+235   | 29.25+29.25   | 29.375+29.375 | 8      | 3     | 19        | 60      | 15
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 233+233 | 236+236   | 29.125+29.125 | 29.5+29.5     | 8      | 4     | 21        | 70      | 5
ReWrite   | /vertica/data | (MB-read+MB-write)/s| 232+232 | 236+236   | 29+29         | 29.5+29.5     | 8      | 4     | 21        | 75      | 0
Read      | /vertica/data | MB/s                | 248     | 248       | 31            | 31            | 8      | 4     | 12        | 10      | 65
Read      | /vertica/data | MB/s                | 241     | 236       | 30.125        | 29.5          | 8      | 4     | 15        | 20      | 55
Read      | /vertica/data | MB/s                | 240     | 232       | 30            | 29            | 8      | 4     | 10        | 30      | 45
Read      | /vertica/data | MB/s                | 240     | 232       | 30            | 29            | 8      | 4     | 12        | 40      | 35
Read      | /vertica/data | MB/s                | 240     | 234       | 30            | 29.25         | 8      | 4     | 12        | 50      | 25
Read      | /vertica/data | MB/s                | 238     | 235       | 29.75         | 29.375        | 8      | 4     | 15        | 60      | 15
Read      | /vertica/data | MB/s                | 238     | 232       | 29.75         | 29            | 8      | 4     | 13        | 70      | 5
Read      | /vertica/data | MB/s                | 238     | 238       | 29.75         | 29.75         | 8      | 3     | 9         | 75      | 0
SkipRead  | /vertica/data | seeks/s             | 22909   | 22909     | 2863.62       | 2863.62       | 8      | 0     | 6         | 10      | 65
SkipRead  | /vertica/data | seeks/s             | 21989   | 21068     | 2748.62       | 2633.5        | 8      | 0     | 6         | 20      | 55
SkipRead  | /vertica/data | seeks/s             | 21639   | 20936     | 2704.88       | 2617          | 8      | 0     | 7         | 30      | 45
SkipRead  | /vertica/data | seeks/s             | 21478   | 20999     | 2684.75       | 2624.88       | 8      | 0     | 6         | 40      | 35
SkipRead  | /vertica/data | seeks/s             | 21381   | 20995     | 2672.62       | 2624.38       | 8      | 0     | 5         | 50      | 25
SkipRead  | /vertica/data | seeks/s             | 21310   | 20953     | 2663.75       | 2619.12       | 8      | 0     | 5         | 60      | 15
SkipRead  | /vertica/data | seeks/s             | 21280   | 21103     | 2660          | 2637.88       | 8      | 0     | 8         | 70      | 5
SkipRead  | /vertica/data | seeks/s             | 21272   | 21142     | 2659          | 2642.75       | 8      | 0     | 6         | 75      | 0

如果 EBS 卷读写性能(输出的第 1 列中带有 Read 和 Write 的条目)大于每个物理处理器核心的 20MB/s(第 6 列和第 7 列),则无需将 EBS 卷配置为 RAID 阵列即可满足运行 Vertica 的最低要求。如果性能低于每个物理核心的最佳 40MB/s,您仍然可以考虑将 EBS 卷配置为 RAID 阵列(就像本示例中的情况)。

如果您确定需要将 EBS 卷配置为 RAID 0 阵列,请参阅 AWS 文档主题 Linux 上的 RAID 配置,了解您需要采取的步骤。

安全组和访问权限

  1. 在以前配置的安全组或默认安全组之间进行选择。

  2. 通过创建 IAM 角色并将其分配给 EC2 实例,来配置节点的 S3 访问权限。有关详细信息,请参阅AWS 身份验证

2 - 连接到实例

使用私钥,执行以下步骤以通过您已附加弹性 IP 地址的实例连接到群集:

  1. 作为 dbadmin 用户,通过替换 ssh 密钥键入以下命令:

    $ ssh --ssh-identity <ssh key> dbadmin@elasticipaddress
    
  2. 从导航面板中选择 实例 (Instances)

  3. 选择附加到弹性 IP 的实例。

  4. 单击连接

  5. 连接到您的实例 (Connect to Your Instance) 上,选择以下选项之一:

    • 直接从我的浏览器连接到 Java SSH 客户端 - 在私钥路径 (Private key path) 字段中添加私钥路径,然后单击启动 SSH 客户端 (Launch SSH Client)

    • 使用独立 SSH 客户端连接** - **按照独立 SSH 客户端所需的步骤进行操作。

使用 putty 从 Windows 连接到实例

如果从 Windows 操作系统连接到实例,请使用 Putty:

  1. 使用 PuTTYgen 转换密钥文件。

  2. 使用转换后的密钥(即 *ppk 文件)连接 Putty 或 WinSCP(通过弹性 IP 连接)。

  3. 使用 Putty 或 WinSCP 将密钥文件(*pem 文件)移动到根目录。

3 - 准备实例以形成群集

创建实例后,您需要准备它们以形成群集。通过添加您的 AWS .pem 密钥和 Vertica 许可证来准备您的实例。

默认情况下,每个 AMI 都包含一个社区版许可证。安装 Vertica 后,您可以在以下位置找到许可证:

/opt/vertica/config/licensing/vertica_community_edition.license.key
  1. 作为 dbadmin 用户,将您的 *pem 文件(从本地保存位置)复制到主实例。

    根据您用于复制文件的过程,文件的权限可能会发生更改。如果权限发生更改,install_vertica 脚本将失败,并显示类似以下内容的消息:

    FATAL (19): Failed Login Validation 10.0.3.158, cannot resolve or connect to host as root.
    

    如果您收到失败消息,请输入以下命令更正 *pem 文件的权限:

    $ chmod 600 /<name-of-pem>.pem
    
  2. 将您的 Vertica 许可证复制到主实例,将其放置在主目录或其他已知位置。

4 - 在 AWS 上更改实例

您可以在 AWS 上更改实例类型。例如,您可以将 c3.8xlarge 实例降级到 c3.4xlarge。有关有效 AWS 实例的列表,请参阅支持的 AWS 实例类型

当更改 AWS 实例时,您可能需要:

  • 重新配置内存设置

  • 重置资源池中的内存大小

  • 重置资源池中的 CPU 数量

重新配置内存设置

如果更改为需要不同内存量的 AWS 实例类型,则可能需要重新计算以下内容,然后重置相应的值:

重置资源池中的内存大小

如果您在资源池中使用了绝对内存,则可能需要使用 ALTER RESOURCE POOL 中的 MEMORYSIZE 参数重新配置内存。

重置资源池中的 CPU 数量

如果新实例需要不同数量的 CPU,则可能需要重置 ALTER RESOURCE POOL 中的 CPUAFFINITYSET 参数。

5 - 配置存储

Vertica 建议您将信息(尤其是数据和编录目录)存储在使用受支持的文件系统格式化的专用 Amazon EBS 卷上。/opt/vertica/sbin/configure_software_raid.sh 脚本会自动执行存储配置过程。

在每节点 EBS 卷高达 2TB 的情况下,Vertica 对 Eon 模式进行性能测试。为了获得最佳性能,请将多个 EBS 卷组合为一个 RAID 0 阵列。

有关 RAID 0 阵列和 EBS 卷的详细信息,请参阅 Linux 上的 RAID 配置

确定卷名称

由于存储配置脚本需要使用您要配置的卷名称,因此您必须标识计算机上的卷。以下命令列出了 /dev 目录的内容。搜索以 xvd 开头的卷:

$ ls /dev

组合存储卷

configure_software_raid.sh Shell 脚本将 EBS 卷组合成一个 RAID 0 阵列。

以下步骤使用 configure_software_raid.sh 脚本将 EBS 卷组合为 RAID 0 阵列:

  1. 按如下方式编辑 /opt/vertica/sbin/configure_software_raid.sh Shell 文件:

    1. 注释掉开头的安全 exit 命令。

    2. 将示例卷名称更改为您之前记下的您自己的卷名称。如有必要,添加更多卷。

  2. 运行 /opt/vertica/sbin/configure_software_raid.sh Shell 文件。运行此文件会创建一个 RAID 0 卷,并将其挂载到 /vertica/data

  3. 使用 chown 将新创建的卷的所有者更改为 dbadmin。

  4. 对群集中的每个节点重复步骤 1-3。

6 - 创建群集

在 AWS 上,使用 install_vertica 脚本组合实例并创建群集。检查 AWS 上的我的实例 (My Instances) 页面,以获取当前实例及其关联 IP 地址的列表。运行 install_vertica 时需要这些 IP 地址。

按如下方式创建群集:

  1. 当连接到主实例时,输入以下命令以将实例组合为一个群集。替换您的实例的 IP 地址,并包括您的根 *.pem 文件名。

    $ sudo /opt/vertica/sbin/install_vertica --hosts 10.0.11.164,10.0.11.165,10.0.11.166 \
      --dba-user-password-disabled --point-to-point --data-dir /vertica/data \
      --ssh-identity ~/name-of-pem.pem --license license.file
    
  2. 组合实例后,Vertica 建议从群集中删除 *.pem 密钥以降低安全风险。下面的示例使用 shred 命令删除该文件:

    $ shred name-of-pem.pem
    
  3. 创建一个或多个群集后,创建数据库

有关 install_vertica 脚本及其参数的完整信息,请参阅使用安装脚本安装 Vertica

使用 netcat 实用程序手动检查打开的端口

群集启动并运行后,您可以使用 netcat (nc) 实用程序通过命令行手动检查端口。下面是使用该实用程序检查端口的示例。

在执行此过程之前,请选择群集中两个节点的专用 IP 地址。

下面给出的示例使用具有专用 IP 的节点:

10.0.11.60 10.0.11.61

在您的节点上安装 nc 实用程序。安装后,您可以发出命令从另一个节点检查一个节点上的端口。

  1. 要检查 TCP 端口:

    1. 将一个节点置于侦听模式并指定端口。以下示例显示如何将 IP 10.0.11.60 置于端口 480 的侦听模式。

      [root@ip-10-0-11-60 ~]# nc -l 4804
      
    2. 从另一个节点,运行 nc 以指定您刚刚置于侦听模式的节点的 IP 地址和相同的端口号。

      [root@ip-10-0-11-61 ~]# nc 10.0.11.60 4804
      
    3. 从任一节点输入示例文本,它应该显示在另一个节点上。要在检查端口后取消,请输入 Ctrl+C

    [root@ip-10-0-11-60 ~]# nc -u -l 4804
    [root@ip-10-0-11-61 ~]# nc -u 10.0.11.60 4804
    

7 - 在 AWS 上使用管理控制台 (MC)

管理控制台 (MC) 是一种数据库管理工具,可用于查看和管理群集的各个方面。Vertica 提供了一个 MC AMI,您可以将其与 AWS 一起使用。MC AMI 允许您创建专用于运行 MC 的实例,您可以将该实例连接到 AWS 上新的或现有的 Vertica 群集。您可以随时创建 MC 实例并将其连接到 AWS 群集上的 Vertica。

有关要求和安装 MC 的信息,请参阅安装管理控制台

另请参阅

7.1 - 登录 MC 并管理群集

启动 MC 实例并配置安全组设置后,登录到数据库。为此,请使用在实例创建期间指定的弹性 IP。

通过这一弹性 IP,可以使用标准 MC 过程在 AWS 上管理 Vertica 数据库。

在 AWS 上使用 MC 时的注意事项

  • 由于 MC 已安装在 MC AMI 上,因此 MC 安装过程不适用。

  • 要在 AWS 上卸载 MC,请在终止 MC 实例之前按照“卸载管理控制台”中提供的过程进行操作。

相关主题