V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anonymoustian
V2EX  ›  程序员

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

  •  
  •   anonymoustian · 2017-04-17 22:29:29 +08:00 · 3831 次点击
    这是一个创建于 2777 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    请教一下,谢谢~

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

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

    https://flume.apache.org/FlumeUserGuide.html#kafka-sink
    v2orz
        8
    v2orz  
       2017-04-18 08:47:27 +08:00
    如果是日志这种数据,一般是选择用 flume-->kafka-->spark
    zacard
        9
    zacard  
       2017-04-18 10:38:06 +08:00
    其他系统产生的日志->flume->spark->其他系统
    snopy
        10
    snopy  
       2017-04-18 14:02:58 +08:00   ❤️ 1
    参考 Spark+Redis ,我们公司每天实时分析处理 7~8 个 TB 的数据就是酱紫的架构, 10 台 Spark 集群, 3 台 Redis 集群
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2807 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:56 · PVG 15:56 · LAX 23:56 · JFK 02:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.