• 请不要在回答技术问题时复制粘贴 AI 生成的内容
anonymoustian
V2EX  ›  程序员

1G 大小的日志文件(每分钟)+Flume+Kafka+Spark streaming 实时分析的问题

  •  
  •   anonymoustian · Apr 17, 2017 · 4374 views
    This topic created in 3323 days ago, the information mentioned may be changed or developed.

    现在有一个采集机器,接收其他系统产生的日志文件,每分钟 1G ,也就是每分钟一个目录下会多出一个 1G 的文件。

    现在想对每分钟出现的这 1G 的数据进行实时的分析,采用 Spark streaming 实时计算后存入其他的系统。

    现在的一个问题是我想读取 1G 数据里的每一条记录,请问这个架构应该是怎样的呢?

    应该由哪一个节点负责对该 1G 大小的日志文件 readline 操作形成的一条条的记录呢? 这里 Flume 有没有用?

    请教一下,谢谢~

    10 replies    2017-04-18 14:02:58 +08:00
    anonymoustian
        1
    anonymoustian  
    OP
       Apr 17, 2017
    我的理解是 Kafka 里面存的是 一条条的日志(一行行)而非整个的大文件,所以需要向里面存这样的数据,这么理解对吗?
    anonymoustian
        2
    anonymoustian  
    OP
       Apr 17, 2017
    我的问题是

    日志文件 -> Kafka 和 日志文件 -> Flume -> Kafka 有什么区别呢? 日志文件有千万行的记录,是在哪一个阶段把这些记录一条条的输入到 Kafka 中的呢?
    EmdeBoas
        3
    EmdeBoas  
       Apr 17, 2017
    学生党,个人的一点愚见
    EmdeBoas
        4
    EmdeBoas  
       Apr 17, 2017
    应该不需要 flume 直接在采集机器上跑 kafka 当生产者 不过要注意配置好 zookeeper 这个节点最好不要经常抖动或者老选举
    anonymoustian
        5
    anonymoustian  
    OP
       Apr 17, 2017
    @EmdeBoas 谢谢 ,经常抖动或者老选举是什么意思?
    EmdeBoas
        6
    EmdeBoas  
       Apr 17, 2017
    @anonymoustian 我说详细一点吧,我觉得 60s 1~2G 的 IO 单台机器应该是吃得消的,所以直接在采集机器上跑生产者 另外关于 zookeeper 因为只有这一个生产者,所以它的稳点性肯定很重要的, kafka 依赖于 zookeeper ,你可以在同一台机器上直接跑 zookeeper ,最好它能是 leader(因为生产者肯定会频繁请求事务,事务只有 leader 处理。 follower 只处理请求) ,这样消息延迟就会降低....不要抖动就是说你 zookeeper 服务器的网得稳定,频繁发生新的选举的话之前的请求和事务都会阻塞的,运气差还可能旧操作被丢弃... PS 我没上过实际生产环境....很多知识都是书上的,你参考就好.....
    lujiajing1126
        7
    lujiajing1126  
       Apr 18, 2017
    Flume 投递到 Kafka 集群,然后 Spark Streaming 直接从 Kafka 消费数据应该没啥问题吧

    https://flume.apache.org/FlumeUserGuide.html#kafka-sink
    v2orz
        8
    v2orz  
       Apr 18, 2017
    如果是日志这种数据,一般是选择用 flume-->kafka-->spark
    zacard
        9
    zacard  
       Apr 18, 2017
    其他系统产生的日志->flume->spark->其他系统
    snopy
        10
    snopy  
       Apr 18, 2017   ❤️ 1
    参考 Spark+Redis ,我们公司每天实时分析处理 7~8 个 TB 的数据就是酱紫的架构, 10 台 Spark 集群, 3 台 Redis 集群
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2885 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 57ms · UTC 09:43 · PVG 17:43 · LAX 02:43 · JFK 05:43
    ♥ Do have faith in what you're doing.