kafka 里的数据如何写到 es 里去 ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wangking
V2EX    程序员

kafka 里的数据如何写到 es 里去 ?

  •  1
     
  •   wangking 2020-05-10 17:53:19 +08:00 5341 次点击
    这是一个创建于 1986 天前的主题,其中的信息可能已经有所发展或是发生改变。

    收集 k8s 日志,打算用 fluent-bit 收集日志,然后 output 到 kafka 中。
    然后 kafka 里的日志如何从 kafka 中存储到 es 里去吗? 难道要单独起一个 logstash 做数据处理吗 ?
    各位大佬们有什么更好的实践吗 ?

    第 1 条附言    2020-05-11 18:18:36 +08:00
    短期方案:使用 filebeat 做个中转
    中长期: 可能会考虑 confluent platform,confluent platform 有 rest 接口,和 connector 做 elasticsearch sink
    20 条回复    2020-05-12 14:12:38 +08:00
    syasuker
        1
    syasuker  
       2020-05-10 18:16:18 +08:00   1
    原来的架构没有 logstash 吗?
    wangking
        2
    wangking  
    OP
       2020-05-10 18:22:35 +08:00
    @syasuker 网上能找到的很多文档都是通过 logstash 去做的 ,我想看看大家伙 又没有使用 connect 之类的其他解决方案
    zhoudaiyu
        3
    zhoudaiyu  
    PRO
       2020-05-10 18:23:33 +08:00 via iPhone
    我们自己写了一个多进程 python 的转数脚本,就是一个死循环每个进程去 kafka 的某个分区拿数,然后维护一个简单的队列,等队列长度到达某个阈值就用 es 客户端提供的批量插入往 es 写数。
    xuanbg
        4
    xuanbg  
       2020-05-10 19:01:20 +08:00   1
    fluent 直接写 es 啊,要什么 kafka 和 logstash
    hahahahahha
        5
    hahahahahha  
       2020-05-10 19:05:09 +08:00
    kafka 确实有和 es 的 connector 通道, 在 kafka 的 spring-kafka-connector 源码有写的,
    wangking
        6
    wangking  
    OP
       200-05-10 20:54:43 +08:00
    @zhoudaiyu 这个方案不一定能行 ,还是比较期待有生产级别的工具
    wangking
        7
    wangking  
    OP
       2020-05-10 20:55:20 +08:00
    @xuanbg 解耦,常规操作
    wangking
        8
    wangking  
    OP
       2020-05-10 20:56:24 +08:00
    @hahahahahha 看了一下 , 有个 confluent 的解决方案,没有 google 到合适的方案
    marcolin
        9
    marcolin  
       2020-05-10 21:27:48 +08:00
    fluentd 可以同时写到两个 output 啊
    xuanbg
        10
    xuanbg  
       2020-05-10 21:37:33 +08:00
    这个解耦没多少意义啊,而且平白地增加了复杂度。再说,日志是允许丢的数据,没必要和数据完整性死磕呀。
    @wangking
    syasuker
        11
    syasuker  
       2020-05-10 22:14:06 +08:00
    @wangking EFK + Kafka 么?
    fluent-bit 跟 logstash 是同级别的 看起来应该是 log 直接进 Kafka 然后经由 F 到 ES
    xetv
        12
    xetv  
       2020-05-10 22:15:43 +08:00
    @xuanbg 加一个 kafka 在后续维护的过程中会更加灵活一点。由于 es 和 kafka 的数据落盘机制不同,kafka 性能可能会优于 es 。
    楼主是按照采集-传输-保存这个步骤进行解藕了,我之前做过一样的系统,也是按照这个模式走的,实测 kafka 写入性能比 es 好。后面如果数据量再大一点的话,传输上面有性能瓶颈还是查询上面有瓶颈,可以有针对性的解决。
    wangking
        13
    wangking  
    OP
       2020-05-10 23:51:36 +08:00
    @syasuker 这个其实是跟 logstash 一样的,目前想通过 kafka 的 connector 直接接 es,感觉有点麻烦,后面可能还是你说的这个方案
    wangking
        14
    wangking  
    OP
       2020-05-10 23:52:42 +08:00
    @xetv 是的,同时后面也可能会有多消费者的需求,所以,这些提前准备一下
    limbo0
        15
    limbo0  
       2020-05-11 03:42:29 +08:00 via iPhone
    @xuanbg 业界标准了,es 查询和存储一体,稳定性不如 kafka,而且以后方便扩展一定会上 kafka 的
    这个写 es 直接 Logstash 几分钟就搞定啊,不用那么纠结
    1daydayde
        16
    1daydayde  
       2020-05-11 08:48:35 +08:00 via iPhone
    @limbo0 +1,有现成的成熟方案还纠结啥
    rafa
        17
    rafa  
       2020-05-11 09:38:18 +08:00
    filebeat 了解下
    pmispig
        18
    pmispig  
       2020-05-11 10:23:48 +08:00
    当然是自己写一个消费者了,日志要做处理
    wangking
        19
    wangking  
    OP
       2020-05-11 18:19:31 +08:00
    @spidermansam0718 现在也没有时间折腾的了,先用 filebeat 顶上
    @pmispig 优先使用工具啊,毕竟是生产
    julyclyde
        20
    julyclyde  
       2020-05-12 14:12:38 +08:00
    啊? filebeat 居然可以读 kafka
    真是名不副实啊!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2878 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:11 PVG 11:11 LAX 20:11 JFK 23:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86