2.15 - 为 Kubernetes(GKE 和 AKS)上的 Presto 创建 Presto 目标任务 - Teradata QueryGrid

Teradata® QueryGrid™ 安装和用户指南

Product
Teradata QueryGrid
Release Number
2.15
Release Date
2021 年 3 月
Content Type
安装
用户指南
管理
配置
Publication ID
B035-5991-031K-CHS
Language
中文 (简体)
要在 Google Cloud (GKE) 或 Azure (AKS) 中 Kubernetes 上的 Presto 上部署 QueryGrid,请在 Viewpoint 中创建 Presto 目标连接器。请在 Server 属性中使用云预留的静态外部 IP。有关如何预留静态 IP 地址(如果尚未预留静态 IP 地址)的信息,请参阅 Google Cloud 或 Azure 文档。Google Cloud 静态 IP 必须是 premium 静态 IP。
  1. 下载 tdqg-presto-k8s-deploy 包(如果尚未获取),请参见下载必需的软件包获取更多信息。
  2. 解压缩 tdqg-presto-k8s-deploy 包,然后获取以下文件:
    • tdqg-node docker image zip
    • tdqg-init-presto docker image zip
    • tdqg-presto-node.zip 文件
  3. 使用云预留的静态外部 IP 创建 Presto 目标连接器。
    • 如果您以前使用 install_tdqg_node_pod.py 脚本以在 Kubernetes(GKE 或 AKS)中的 Presto 上自动部署 QueryGrid,则可以使用相同的脚本创建 Presto 目标连接器。请将网络结构和连接器详细信息添加到 tdqg_input.yaml 文件中。在 Server 属性中提供云预留的静态外部 IP 并运行脚本。
    • 如果您没有使用此脚本,请在 Viewpoint 上创建 Presto 连接器,并在 Server 属性中使用云预留的静态外部 IP。
  4. 创建 Presto values.yaml 文件,以使用 Helm 图表部署 Presto。
    在修改现有 Presto 部署时,必须更新 Presto values.yaml 文件的版本,以包括 QueryGrid 部分。修改时有两个选项:手动和使用安装脚本。
    操作 说明
    添加新的 Presto 部署 在添加新的 Presto 部署时,tdqg-presto-node 下的 presto_values.yaml 可以用作 values.yaml 文件。
    1. 执行标准 Presto 配置任务,如节点数、CPU、内存、要指向数据库的目录等。
    2. initFile 下的 节点软件版本Presto 连接器版本 替换为实际版本。
    修改现有 Presto 部署 将以下部分从 presto_values.yaml 文件添加到您现有的 Presto values.yaml 配置文件:
    • initFile.sh – 将节点软件版本和 Presto 连接器版本替换为实际版本
    • additionalVolumes – 允许 tdqg-node Pod 和 Presto Pod 交换文件的 hostPaths
    • coordinator: affinityworker: affinity – Presto 协调器和工作线程不得共享同一主机
    • catalogs – 添加 qgremote 目录
  5. 通过运行 helm repo add 命令来添加 Starburst Presto 存储库,以使用 Helm 部署 Presto。
  6. 添加 Helm 存储库后,使用以下命令部署 Presto:
    helm upgrade my-presto starburstdata/starburst-presto \
    --install \
    --version <Presto_version> \ #e.g. 345.0.0
    --values <path to Presto values.yaml file>
    
  7. 检查操作是否成功:
    kubectl get pods -o wide
    如果显示以下内容,表示操作成功:
    • 每个 Kubernetes 主机对应的处于运行状态的 tdqg-node Pod
    • Presto 协调器 Pod
    • 先前指定的 Presto 工作线程 Pod 的数量

    如果 Pod 正在启动和停止,请查看容器日志以排除故障。

  8. 公开 Kubernetes Pod 网络外部的 Presto 服务器。
    为此,可以使用静态 IP 创建负载平衡器。有关如何创建负载平衡器的信息,请参阅 Starburst Enterprise Presto 和 Google Cloud/Azure 文档。如有必要,请重新部署 Presto Pod。
  9. 等待大约 30 秒后运行 kubectl get services,确认已将外部 IP 分配给 Presto 协调器。
    升级 QueryGrid 节点或连接器软件时,节点软件版本Presto 连接器版本 需要在 Presto 配置 yaml 中更新并重新应用,这将触发所有 Presto Pod 的重新启动。