0

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

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

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

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

非常感谢任何帮助!

4

2 回答 2

1

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

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

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

于 2019-01-14T15:52:59.223 回答
1

要运行一个 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-produce-and-sumption-messages-in-python-44d5416f582e

希望这些帮助!

于 2019-01-14T21:05:29.713 回答