分享

请教各位前辈 监听端口获取数据到kafka并通过udp协议发送到某端口的设计

cyb1994 发表于 2017-7-10 15:58:42 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 6 18095
目前我采用flume监听端口去获取发送过来的syslog,然后发送到kafka,但是根据需求,我还得把数据再通过udp协议发送到某个端口,研究了很多天,完全没有头绪。不知道flume能不能把数据推送到kafka的时候也推送到指定端口?或者使用什么软件读取kafka新增的数据再推送到指定端口?抑或使用Java写个消费者,在方法体里推送?  实在困扰了许久  希望各位前辈能指导迷津   不尽感激   注意推送数据也要udp协议!

已有(6)人评论

跳转到指定楼层
langke93 发表于 2017-7-10 18:06:08
其实这涉及到两次倒换数据
第一次是让kafka作为sink
第二次是让kafka作为source
应该通过flume可以实现,但是有点绕。
另外一点就是通过udp,好像flume、kafka使用的是tcp,udp的话,可能需要自己写
回复

使用道具 举报

cyb1994 发表于 2017-7-10 18:24:36
langke93 发表于 2017-7-10 18:06
其实这涉及到两次倒换数据
第一次是让kafka作为sink
第二次是让kafka作为source

谢谢指导  flume支持多种协议  kafka使用的tcp  我在看源码写消费者了  让消费者去发送
回复

使用道具 举报

cyb1994 发表于 2017-7-11 10:35:22
上头说要实时发送,hadoop生态圈有可以实现的,自己写消费者做不到实时,而且一秒有5w条左右的syslog,前辈们谁有思路吗?
回复

使用道具 举报

langke93 发表于 2017-7-12 15:07:35
cyb1994 发表于 2017-7-11 10:35
上头说要实时发送,hadoop生态圈有可以实现的,自己写消费者做不到实时,而且一秒有5w条左右的syslog,前辈们谁 ...

可以按照下面思路,配置两个agent【客户端】,也就是配置两个flume的配置文件,然后启动。其实也很简单的如下图
第一次是让kafka作为sink
第二次是让kafka作为source

1.png

而且这个很多地方都应用了
图来自
Flume1.5.0入门:安装、部署、及flume的案例
http://www.aboutyun.com/forum.php?mod=viewthread&tid=8917


回复

使用道具 举报

cyb1994 发表于 2017-7-12 15:12:20
langke93 发表于 2017-7-12 15:07
可以按照下面思路,配置两个agent【客户端】,也就是配置两个flume的配置文件,然后启动。其实也很简单的 ...

谢谢 我去看一下  
回复

使用道具 举报

langke93 发表于 2017-7-12 15:16:12
cyb1994 发表于 2017-7-12 15:12
谢谢 我去看一下

红字部分是关键
1.jpg
Flume支持用户建立多级流,也就是说,多个agent可以协同工作,并且支持Fan-in、Fan-out、Contextual Routing、Backup Routes,这也正是NB之处.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条