我是Kafka的新手。
我有一台Linux机器,其中端口号2552从外部服务器获取数据流。
我想使用Kafka生产者来监听该端口并将数据流添加到主题中。
答案 0 :(得分:1)
您没有说端口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- [协议]或查看https://www.confluent.io/product/connectors/
上的精选连接器列表甚至可能有一个通用的TCP或UDP连接器,您可以将其用作为您尝试摄取的特定协议配置或构建自己的连接器。
答案 1 :(得分:1)
这是一个完整的黑客,但适用于沙箱示例:
nc -l 2552 | ./bin/kafka-console-producer --broker-list localhost:9092 --topic test_topic
它使用netcat监听TCP端口,并将收到的任何内容传递给Kafka主题。
一个快速的谷歌也出现了这个https://github.com/dhanuka84/kafka-connect-tcp,它看起来做了类似的事情,但更强大,使用Kafka Connect API。