【问题标题】:Ingest Streaming Data to Kafka via http通过 http 将流数据摄取到 Kafka
【发布时间】:2019-01-14 15:06:14
【问题描述】:

总的来说,我对 Kafka 和流数据非常陌生。我想做的是摄取要通过http发送到kafka的数据。我的研究将我带到了融合的 REST 代理,但我无法让它工作。

我目前拥有的是在 docker 容器中使用单个节点和单个代理与 kafkamanager 运行的 kafka。

不幸的是,我无法使用 docker 运行完整的融合平台,因为我的机器上没有足够的可用内存。

本质上我的问题是:如何设置一个开发环境,让 kafka 通过 http 摄取数据?

非常感谢任何帮助!

【问题讨论】:

  • 您好,欢迎来到 SO,请重写您的问题以匹配问答格式,我不知道要回答多少,但“购买更多内存”其他方式。请务必阅读How to Ask

标签: apache-kafka confluent-platform kafka-rest


【解决方案1】:

您不需要“完整的 Confluent 平台”(包括 KSQL、控制中心)

Zookeeper、Kafka、REST 代理和可选的 Schema Registry,总共应该只占用最多 4 GB 的 RAM。如果你甚至没有,那么你需要去购买更多的内存。

请注意,Zookeeper 和 Kafka 不需要与 Schema Registry 或 REST 代理在同一台机器上运行,因此如果您有多台机器,那么您也可以通过这种方式节省一些资源。

【讨论】:

    【解决方案2】:

    要运行一个 Kafka 代理、zookeeper 和模式注册表,1Gb 通常就足够了(在开发中)。

    如果您出于某种原因不想使用 Confluent REST 代理,您可以编写自己的。这很简单:“根据请求,解析传入的 JSON,验证数据,构造消息(在 Avro 中?)并将其生成到 Kafka”。

    在本文中,您将找到一些在堆内存上按 Kafka 和 ZK 的配置:https://medium.com/@saabeilin/kafka-hands-on-part-i-development-environment-fc1b70955152

    您可以在此处阅读如何使用 Python 生成/使用消息: https://medium.com/@saabeilin/kafka-hands-on-part-ii-producing-and-consuming-messages-in-python-44d5416f582e

    希望这些帮助!

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 2023-03-26
      • 2019-04-13
      • 2019-11-14
      • 2015-11-13
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 2019-09-23
      相关资源
      最近更新 更多