【问题标题】:Kafka producer produce data to topic from PORTKafka 生产者从 PORT 生成数据到主题
【发布时间】:2018-01-08 01:35:45
【问题描述】:

我是卡夫卡的新手。

我有一台 Linux 机器,其中端口号 2552 从外部服务器获取数据流。

我想使用 Kafka 生产者来监听该端口并将数据流获取到主题。

【问题讨论】:

    标签: apache-kafka kafka-consumer-api kafka-producer-api


    【解决方案1】:

    这是一个完整的 hack,但适用于沙盒示例:

    nc -l 2552 | ./bin/kafka-console-producer --broker-list localhost:9092 --topic test_topic
    

    它使用 netcat 侦听 TCP 端口,并将接收到的任何内容通过管道传输到 Kafka 主题。

    快速的 Google 也发现了这个 https://github.com/dhanuka84/kafka-connect-tcp,它使用 Kafka Connect API 看起来做类似的事情但更强大。

    【讨论】:

      【解决方案2】:

      您不会说端口 2552 上的流量是 TCP 还是 UDP,但通常您可以轻松编写一个程序来侦听该端口,将接收到的数据解析为离散消息,然后将数据发布到 Kafka 主题使用 Kafka Producer API 作为 Kafka 消息(带或不带密钥)。

      在某些情况下,现有的开源代码可能已经为您执行此操作,因此您无需从头开始编写它。如果端口 2552 协议是众所周知的协议,例如在 IANA 中注册的 TCP 或 UDP 呼叫记录协议(请参阅ftp://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt),那么甚至可能存在支持它的现有 Kafka 连接器或代理。在 GitHub 上搜索 kafka-connect-[protocol] 或查看 https://www.confluent.io/product/connectors/ 的精选连接器列表

      甚至可能有一个通用的 TCP 或 UDP 连接器,您可以将其用作参考,为您尝试摄取的特定协议配置或构建自己的连接器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-05
        • 2022-06-13
        • 1970-01-01
        • 2016-12-29
        • 2020-06-25
        • 2021-08-26
        • 2020-12-11
        • 2021-10-22
        相关资源
        最近更新 更多