2.09 - Teradata QueryGrid 组件 - Teradata QueryGrid

Teradata® QueryGrid™ 安装和用户指南

prodname
Teradata QueryGrid
vrm_release
2.09
created_date
2019 年 5 月
category
安装
用户指南
管理
配置
featnum
B035-5991-059K-CHS

Teradata QueryGrid 包含以下组件。

组件 说明
Teradata QueryGrid 管理器 安装在专用物理机(TMS 或服务器)或 VM 上的软件,可用于定义、管理和监控 Teradata QueryGrid。

安装 Teradata QueryGrid 管理器后,请在 Viewpoint 中配置它,然后使用 QueryGrid 门户组件安装并配置其余 Teradata QueryGrid 组件。

数据中心 表示系统(数据源)在 Teradata QueryGrid 中的物理位置的逻辑名称。
系统(数据源) 共享同一软件平台的一个或多个数据源节点,例如 Teradata Database 节点、Hadoop 集群中的节点或 Presto 集群中的节点。
系统(网桥) 用于执行 CPU 密集型操作(例如,压缩和加密)以及传输数据的一部分数据源节点或非数据源节点。
网络结构 不同系统中的一个或多个在同一端口上运行 Teradata QueryGrid 软件兼容版本的数据源节点。
连接器 数据源的适配器软件,可以在同一个 Teradata QueryGrid 网络结构中与其他连接器进行数据类型映射、转换和通信。
链接 指定可以互相通信的连接器并定义数据传输规则的已命名配置。

Teradata QueryGrid 管理器

Teradata QueryGrid 管理器在 Teradata QueryGrid 中执行以下功能:
  • 管理和监控 Teradata QueryGrid
  • 允许安装、配置和升级 Teradata QueryGrid
  • 发起连接和带宽诊断检查
  • 捕获和汇总查询性能指标
  • 管理密钥以确保对 Teradata QueryGrid 进行安全访问
  • 捕获从 Teradata QueryGrid 组件生成的日志

所需的 Teradata QueryGrid 管理器实例的数量取决于 QueryGrid 管理器硬件规范、网络结构中的数据源节点数以及 QueryGrid 查询量。为实现高可用性,建议至少安装两个 QueryGrid 管理器。

如果安装了多个 Teradata QueryGrid 管理器实例,则应为这些 Teradata QueryGrid 管理器实例创建一个集群,以实现高可用性和可扩展性。当安装了多个 Teradata QueryGrid 管理器实例时,应建立 Teradata QueryGrid 管理器实例集群,以实现高可用性和可扩展性。建立集群可确保所有 Teradata QueryGrid 管理器实例具有相同的配置,以便它们都能管理和监控 Teradata QueryGrid。Teradata 建议在企业系统中仅创建一个 QueryGrid 管理器群集, 以防止思洛存储器系统无法加入相同的 QueryGrid 结构。

创建集群后,该集群中的 QueryGrid 管理器实例会自动进行故障转移和恢复。如果一个实例脱机,该集群中的其他实例会接管该故障实例中的工作负载。一旦发生故障的 QueryGrid 管理器恢复联机,它将自动恢复脱机期间进行的任何新配置更新,并继续执行其发生故障之前的工作负载。

数据中心

数据中心在 Teradata QueryGrid 中执行以下功能:

  • 可使 Teradata QueryGrid 管理器确定两个数据源(系统)是通过 LAN 还是 WAN 进行通信
  • 如果本地存在可用的 Teradata QueryGrid 管理器,请确保与 Teradata QueryGrid 管理器的通信始终使用本地局域网

在物理机上安装 Teradata QueryGrid 管理器软件时,将使用 TMS、VM 或服务器的主机名创建缺省数据中心。缺省数据中心名称显示在 QueryGrid 门户组件中。

缺省数据中心无法删除。您可以对其重命名,或者执行以下操作之一:
  • QueryGrid 门户组件中创建新的数据中心
  • 如果您有两个或更多 Teradata QueryGrid 管理器实例,可以在建立集群的过程中创建新的数据中心。

系统(数据源)

在 Teradata QueryGrid 配置期间,添加 Teradata QueryGrid 作为受监控系统。

可将以下数据源系统添加到 Teradata QueryGrid 中。每个系统必须有自己的连接器。
  • Teradata Database
  • hive
  • Presto
  • Spark SQL
  • Oracle

添加到 Teradata QueryGrid 中的系统的数据源节点只能与一个系统关联。在 Teradata QueryGrid 配置期间,在系统中的每个节点上安装节点和网络结构软件。节点软件管理节点上的网络结构和连接器。

系统(网桥)

网桥系统表示一部分数据源节点或一组单独的非数据源节点,可实现:
  • 所有网络流量流经网桥系统中的节点,而不是流经数据源系统中的所有节点
  • 将 CPU 密集型操作(例如,数据加密或压缩)卸载到网桥系统中的节点,而不是使用数据源系统中的所有节点
  • 将连接到公共网络的节点用于数据传输
发起程序和目标系统中的数据源节点之间的数据传输路径可以包含一个或两个网桥系统。网桥系统中的节点可以是:
  • 一部分运行 QueryGrid 节点软件的数据源节点。数据源节点可以在发起程序系统和/或目标系统中。
  • 一组运行 QueryGrid 节点软件的非数据源节点。非数据源节点不需要连接器软件,因为它们没有需要处理的本地数据。Hadoop 系统中的边缘节点就是一个非数据源节点的示例。

链接用于定义数据传输路径。数据传输路径可以包含一个或两个网桥。链接可以包含一个或多个跃点。跃点数基于网桥数。

  • 如果没有网桥,则只有一个跃点。
  • 如果有一个网桥,则有两个跃点。
  • 如果有两个网桥,则有三个跃点。

跃点定义用于在数据传输路径的连接点之间进行数据移动的网络和通信策略。

网络结构

网络结构在 Teradata QueryGrid 中执行以下功能:

  • 支持在同一类型或不同类型的配对数据源节点之间进行通信,前者如 Teradata Database 和 Teradata Database,后者如 Teradata Database 和 Presto
  • 允许用户启动单个 SQL 查询,联接网络结构中两个或更多系统(数据源)的数据

在网络结构的数据源节点之间传输的数据大小没有限制。

网络结构软件会安装在数据源节点上并执行以下操作:
  • 使 Teradata QueryGrid 连接器能够:
    • 彼此并行通信
    • 高效运行、处理和传输数据
  • 监控每个查询的网络结构使用情况并将指标报告给 Teradata QueryGrid 管理器

连接器和链接都与网络结构关联。

连接器

连接器在 Teradata QueryGrid 中执行以下功能:
  • 提供跨数据源(系统)的查询处理
  • 将查询请求 SQL 从一种源查询格式转换为另一种格式
  • 转换数据,将数据从一种数据类型或格式转换为另一种数据类型或格式,使数据能够在不同的系统(数据源)之间交换。
  • 支持数据源参与查询。任何联接网络结构的连接器都能参与查询。
  • 支持数据源启动查询。
  • 支持向网络结构发送数据以及从网络结构接收数据
  • 与网络结构中的其他连接器通信
  • 控制目标系统上查询的运行。所有连接器都可以充当查询目标,并代表发起程序系统(数据源)控制在目标系统(数据源)上运行的查询
  • 将查询结果返回到发起系统

连接器是特定于系统类型(Teradata Database、Hive 或预配置的 Hadoop)的,而且每个系统类型都只能有一个连接器。一个 Teradata Database 系统托管一个 Teradata 连接器,但是一个 Hadoop 系统可以托管多个连接器(Hive 和 Presto)。

通过可选连接器属性,可以完善连接器类型配置,或者覆盖在配置期间设置的连接器属性。

连接器软件连接数据源和 Teradata QueryGrid 网络结构。软件安装在系统中的所有数据源节点上。网络结构软件也安装在系统中的所有数据源节点上。网络结构软件包括驱动程序。驱动程序在一个或多个叫作 驱动程序节点 的数据源节点上运行。作为查询处理的一部分,驱动程序节点从发起程序连接器接收请求,并将请求提交给目标系统。驱动程序可通过加载连接器、读取消息、调用方法来处理请求和发送响应。

配置连接器时,必须指定系统(数据源)中的哪些节点是驱动程序节点。仅大型系统上的一部分节点需要成为驱动程序节点。使用多个驱动程序节点以提供冗余并共享发起查询所需的工作负载。

目标驱动程序节点提交查询后,连接缓存将形成一个连接池,并执行以下操作:
  • 重复使用物理连接
  • 减少 QueryGrid 查询的开销
  • 最大限度减少创建和关闭会话

该连接池会对一个查询的所有阶段或使用相同会话和用户凭据的后续查询应用相同的 JDBC 连接。有关配置可调谐连接器池属性的详细信息, 请参阅相关连接器主题中的连接器和链接属性信息。

链接

连接器可以是查询的发起程序或目标。链接是定义发起程序连接器和目标连接器配对的已命名配置。
  • 发起程序连接器:发出 QueryGrid 查询的点。例如,在 Teradata 到 Presto 查询中,Teradata 连接器发起查询。
  • 目标连接器:QueryGrid 查询的目标点。例如,在 Teradata 到 Presto 查询中,Presto 连接器是发起连接器访问以导入或导出数据的目标连接器。
您可以只为您定义的连接器类型创建发起连接器和目标连接器链接配对。
  • 如果您只定义了 Teradata Database 连接器,则只能在 Teradata Database 系统之间创建链接。
  • 如果您定义了 Teradata 和 Presto 连接器,则可以在 Teradata Database 系统和 Presto 系统之间创建链接。
  • 如果您定义了 Teradata、Presto 和 Hive 连接器,则可以为这些连接器类型的所有组合创建链接。

链接用于简化外部服务器定义的配置,为运行 QueryGrid 查询做好准备。

在 Teradata QueryGrid 网络结构中,每个链接:
  • 指定用于执行查询的发起连接器和目标连接器链接配对
  • 指定是否使用网桥:
    • 如果不使用网桥,则只定义一个跃点(发起程序和目标之间的跃点)
    • 如果使用一个网桥,则定义两个跃点(发起程序和网桥之间的跃点、网桥和目标之间的跃点)
    • 如果使用两个网桥,则定义三个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和目标之间的跃点)
  • 定义发起和目标连接器的属性
    创建链接和相关属性时,将创建配置名称值对 (NVP)。NVP 将执行以下操作:
    • 指定目标连接器组件的行为
    • 配置数据的转换方式
    • 配置基础链接数据传输层
    • 影响发起程序连接器的执行方式

    通过可选属性细化发起或目标连接器的配置。这些链接属性会覆盖连接器属性。

  • 定义跃点的发起和目标网络

    链接引用网络来确定用于数据传输的接口。查询源自某一服务器或网络,并被发送到目标服务器或网络。如果没有指定网络,链接将使用任意工作路由。

    网络由规则定义,规则通过接口名称或 CIDR 表示法将物理网络接口映射到逻辑网络定义。规则按其自身在匹配规则列表中的显示顺序进行检查。

  • 指定通信策略,该通信策略定义了在目标和发起连接器和网桥(如果使用)之间的数据传输规则

    通信策略定义系统如何相互通信,并允许您配置传输并发和安全选项,以及在数据传输期间对行数据块启用或禁用 ZStandard 数据压缩。

    Teradata QueryGrid 中预配置了一个适用于 LAN 的策略(LAN 策略)和一个适用于 WAN 的策略(WAN 策略)。

    通信策略不一定特定于所涉及的系统,因此可以重用。

  • 指定用户映射(可选)

    用户映射允许已登录发起系统的用户以目标系统上特定用户的身份提交查询。您可以将发起系统上的多个用户映射到目标系统上的单个用户(如果适用),但不能将目标系统上的多个用户映射到发起系统上的单个用户。

    QueryGrid 门户组件中,您可以构造将一个数据源上的用户名映射到另一个数据源上的用户名的表。

    在未配置安全设置的情况下使用 Hive、Presto 或 Spark 目标连接器时,通常需要用户映射。例如,如果用户 Joe 使用 Teradata 到 Hadoop 链接发起查询,则 Teradata 会自动将该用户名更改为全大写,并在缺省情况下代表用户 JOE 将该查询发送到目标系统。如果 Hive 目标连接器未使用任何安全设置,则此用例可能会出现以下结果:
    • 目标系统上不存在用户 Joe。在此情况下,必须使用目标系统上的一个现有用户(如 hive)运行该查询。此时,需要使用一个用户映射将 Teradata 系统上的 JOE 映射到目标 Hive 系统上的用户 hive。
    • 目标系统上存在用户 Joe,但其形式为 joe(全小写)。在此情况下,需要使用一个用户映射将 Teradata 系统上的 JOE 映射到目标 Hive 系统上的 joe。
    • 目标系统上存在用户 Joe,但其形式为 JOE(全大写)。此时不需要使用用户映射。

    如果使用一个安全平台(例如 Kerberos),则使用 Hive、Presto 或 Spark 目标连接器时不需要用户映射。