【问题标题】:How segments sends to offline servers in Apache Pinot?段如何发送到 Apache Pinot 中的离线服务器?
【发布时间】:2020-05-05 22:42:07
【问题描述】:

我们可以在 Apache Pinot 集群之外创建分段。那挺好的。但我不明白它是如何将分段从深度存储上传到离线服务器的。例如,

我将段写入 Hdfs。然后我调用段 tar 推送作业。如果我没有理解错,segmenttarpushjob 从深度存储(s3)下载创建的段,然后通过 rest api 将段上传到控制器,控制器将段发送到离线服务器。

在向控制器发送段时,这个过程不会造成瓶颈吗?如果离线服务器直接从深存储下载段会发生什么?

【问题讨论】:

    标签: hadoop linkedin helix


    【解决方案1】:

    有两种方式可以将数据推送到 Pinot 控制器

    1. 基于URI:在这种模式下,调用者只提供段URI和段元数据。如果没有提供段元数据,控制器将获取段并提取元数据。控制器需要元数据进行验证。在这种模式下,服务器会直接从深度存储中拉取段

    2. Payload based:在这种模式下,调用者发送段 tarball 作为载荷,控制器将这个段 tarball 存储在它的 dataDir 中(这可以是 NFS 或再次深度存储)。控制器更新 zookeeper 中的段元数据以指示段的位置。服务器使用元数据中的位置来获取片段

    【讨论】:

      【解决方案2】:

      这是一个视频,解释了 Apache Pinot 离线表中段分配的详细信息:https://youtu.be/HycNRCzkrjg 它演示了将段上传到深度存储时发生的步骤:控制器通知->段分配计算->服务器下载段。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2019-06-24
      • 2019-11-04
      • 2015-08-10
      • 1970-01-01
      • 2016-04-18
      相关资源
      最近更新 更多