【问题标题】:Presto with KubernetesPresto 与 Kubernetes
【发布时间】:2019-02-15 16:59:26
【问题描述】:

我们正在尝试使用 Kubernetes 实现 Presto。我们有一个在云上作为服务运行的 kubernetes 集群。我试图用谷歌搜索,但无法找到关于使用 Kubernetes 部署 Presto 的最佳实践的结论性结果。虽然存在 Presto 的官方 github - 但无济于事。以下是我试图寻求答案的两个问题:

  1. 使用 Kubernetes 配置 Presto 的最佳方法应该是什么 - 诸如理想工作器副本之类的指标?
  2. 我们如何才能继续并测试此部署的性能?

【问题讨论】:

    标签: docker kubernetes performance-testing presto trino


    【解决方案1】:

    您可以使用来自https://github.com/helm/charts/tree/master/stable/presto 的官方 helm chart 进行安装,它提供了设置工人数量的选项。使用官方图表,您应该能够在 Kubernetes 图表 slack 频道(通过http://slack.k8s.io)中提问,如果您遇到任何问题,也可以在 GitHub 中提出问题。或者有非helm的例子比如https://github.com/dharmeshkakadia/presto-kubernetes

    多少工人的问题并不是 Kubernetes 特有的。这是一个需要部署来处理多少负载和什么样的负载的问题,并且还取决于您的 Kubernetes 集群使用的硬件。如果您不确定,那么也许您可以使用默认值进行部署并根据需要进行调整。 https://prestodb.io/presto-admin/docs/current/installation/presto-configuration.html 建议您这样做,您会在 kubernetes yaml 描述符的 Deployment 部分或 helm 图表的 values.yaml 中找到一些设置,例如每个节点的内存设置。

    要对您的部署进​​行性能测试,您需要测试数据,然后可以针对集群运行查询。因此,您将在 Kubernetes 之外遵循相同的过程。有一些工具可以提供帮助,例如https://www.lewuathe.com/use-benchto-for-evaluation-of-presto.htmlhttps://github.com/prestodb/tempto 你可能还想看看https://kognitio.com/blog/presto-performance-powerful-or-problematic/

    【讨论】:

    • Helm 图表很好,我忽略了这一点;)我仍然想知道部署是否是一个不错的选择……
    • 是的,这些示例都使用 Deployment 而不是 Statefulset,这似乎很奇怪。我想这取决于协调员是否特别关心哪个工作人员 pod 正在做什么,以及它是否需要与该特定 pod 交互。我不太了解 presto 可以说。
    • @MichaelHausenblas 我相信部署在这里会是一个更好的选择,因为 Presto 是针对 query 而不是完全是 store。例如,我们已经大量使用了 Drill,它只能作为 Deployment
    【解决方案2】:

    有几个例子说明如何实现它,例如dharmeshkakadia/presto-kubernetes,但我想你可能想在这里使用StatefulSet,而不是。不确定性能测试,因为它在很大程度上取决于您选择的持久卷类型,或者更好地说是它所支持的类型,例如 NFS、Ceph,或者您可能处于具有本机存储的云环境中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-19
      • 1970-01-01
      • 2020-05-01
      • 2013-11-19
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 2020-03-19
      相关资源
      最近更新 更多