目录
要点1 :
区别2 :
同样在流数据收集框架中,
flume通常用于日志收集,可以自定义许多数据源并减少开发量。 基本体系结构是流进程代理(源、拦截器、选择器、通道内存通道、文件通道和sink ),其中传递的是原子事件数据。
使用双层流体系结构,可以实现一层数据收集、一层数据集。
Flume概念、基本体系结构
kafka通常用于日志缓存,是一个持久的分布式消息队列,具有存储,同时提供推送和推送数据存储功能。 包括producer、Kafka集群(broker:topic、partition )、consumer,依赖于Zookeeper ) brokerid、topic、partition元数据
Kafka的概念、基本体系结构
不同点flume和kafka的侧重点不同,
flume追求数据、数据源和数据流的多样性,适用于多个生产者的场景。在flume中,可以创建source、channel和sink.conf配置文件,并在打开flume组件时在命令中显示
打开flume的脚本部分: $FLUME_HOME/淡淡的服装/flume-ng agent-c $ flume _ home/conf-f $ job _ home/flume-HDFS . flume-HDFS.log21-c:flume启动时读取的配置文件flume-env.sh (指定JDK路径)保存在/conf目录中-f ) source、 )已创建的channel和sink配置文件flume-hdfs.conf的存储目录----n:Flume-HDFS.conf中的代理包含代理-------------------------。 表示的日志级别包括:log、info、warn和error,仅用于调试,在生产环境中通常不使用控制台。 打印日志发送路径kafka追求高吞吐量、高负载,在同一topic上可以有多个分区,通过拉动模式提取数据,适合很多消费者的场景。 kafka没有内置的producer和consumer组件,必须自己编写代码。
不同点flume和kafka的定位不同:
1. flume
由cloudera公司开发,适用于多个生产者
下游数据消费者不多的情况(一个消费者打开channel )
适用于数据安全性要求不高的操作; (数据没有备份,也没有副本)
适用于与Hadoop生态圈对接的操作。 (HDFS、Hbase等)
适用于生产和数据收集
2. kafka
由linkedin公司开发,适合多个消费者
数据下游消费众多时(kafka从磁盘读取,只查找Leader读取)
适用于数据安全性要求较高的操作,支持复制。
适合消费数据
因此工作中常用的一种模型是:
在线数据----flume---- Kafka---- HDFS---hive/Mr计算
--SparkStreaming计算
也有kafka和springboot的组合,收集数据并传递给sparkStreaming进行流计算