Apache Hadoop 上 Vertica for SQL 的最佳实践

如果您在 Apache Hadoop 产品上使用 Vertica for SQL,Vertica 建议针对存储位置采用以下最佳实践:

  • 只将数据类型存储位置放在 HDFS 存储上。

  • 将临时空间直接放在本地 Linux 文件系统(而不是 HDFS)中。

  • 为获得最佳性能,请将 Vertica 编录直接放在本地 Linux 文件系统上。

  • 首先在本地 Linux 文件系统上创建数据库。然后,您可以将数据库扩展至 HDFS 存储位置,并设置只将数据块放在 HDFS 存储位置的存储策略。

  • 如果仅在部分 HDFS 节点上运行 Vertica,请勿在这些节点上运行 HDFS 平衡器,以便获得更好的性能。HDFS 平衡器会将数据块移动至较远的距离,导致 Vertica 在执行查询期间读取非本地数据。不需要执行网络 I/O 时,查询运行速度更快。

一般来说,HDFS 要为群集中的每个节点准备 2 GB 左右的内存。要在 Vertica 配置中支持此要求:

  1. 创建一个 2 GB 资源池。

  2. 不要为此池分配任何 Vertica 执行资源。此方法可保留 HDFS 使用的空间。

或者,使用 Ambari 或 Cloudera Manager 查找 HDFS 所需的最大堆大小并将资源池的大小设置为该值。

有关如何配置资源池的详细信息,请参阅管理工作负载