使用Hadoop机架位置提升Vertica性能

当Vertica数据库节点位于Hadoop数据节点( Data Node )上时,Vertica可以利用Hadoop机架配置对ORC和Parquet数据执行查询。 查询执行时越接近数据越可以减少网络延迟并提高性能。

Vertica会自动使用与HDFS数据节点位于同一位置的数据库节点。 这个功能称之为node locality,并不需要额外配置来开启。

当Vertica仅位于HDFS节点的一个子集上时,有时候没有与数据共存的数据库节点。 但是,如果Vertica的查询使用同一机架中的数据库节点,则性能通常会更好。 此功能(8.1版中的新功能)称为node locality。 使用机架位置,您可以通过每个机架仅一个Vertica节点来查看性能改进,从而减少将Vertica添加到现有Hadoop集群的工作。

可以考虑具有以下布局的HDFS集群:

使用Hadoop机架位置提升Vertica性能_第1张图片

(每个机架中的节点由本地网络连接,机架网络连接到公共网络,Vertica节点由专用网络连接。

HDFS也利用了node locality的优势,因为集群已经在拓扑映射文件中描述了机架结构。 而且您可以使用它来配置Vertica。

以下是图中所示的HDFS集群拓扑映射文件的摘录:

使用Hadoop机架位置提升Vertica性能_第2张图片

您可以使用此数据为此集群中的Vertica节点创建Fault Group描述。 Vertica使用此信息将SQL查询路由到最靠近数据的节点。

/rack1 /rack2 /rack3

/rack1 = db01

/rack2 = db02

/rack3 = db03

Rack locality通常与多层机架配合使用。 如果您的上海数据中心和北京数据中心中各有一组机架,则Vertica会自动感知该架构。

你可能感兴趣的:(使用Hadoop机架位置提升Vertica性能)