日志采集系统flume和kafka有什么区别及联系,它们分别在什么时候使用,什么时候又可以结合?

0
已邀请:
1

为了明天time - hadoop hive 大数据 java python 2015-10-22 回答

flume是海量日志采集、聚合和传输的日志收集系统,kafka是一个可持久化的分布式的消息队列。
Flume可以使用拦截器实时处理数据,对数据屏蔽或者过滤很有用,如果数据被设计给Hadoop使用,可以使用Flume,重在数据采集阶段。
采集和处理数据不一定同步,所以用kafka这个消息中间件来缓冲,重在数据接入。
在一些实时系统中一般采用flume+kafka+storm的设计
 
1

seng - 从事BI、大数据、数据分析工作 2015-10-21 回答

我也是刚了解,我是这样理解的
kafka就是消息队列, 对日志采集系统来说是做缓存用的,供实时的应用读取。
由于往kafka发消息需要按要求程序调用,有时候没这么复杂,比如就像记录日志,那就有了flume这个日志采集工具, 有多种预定义的数据源,有预定义的输出方式,简单配置即可。
0

Bob - 同程旅游大数据+BI 架构师 2015-10-22 回答

其实楼上的回答已经很全面了。
当你只想进行日志的收集工作时,可直接用flume。
如果你收集了日志后,想输出到多个业务方,则可结合kafka。kafka是消息队列,可支持多个业务来读取数据。
由于前端一般都会做负载均衡,所以日志源会有多个,而公司可能只有一个统一的实时计算平台。所以在这个中间一般都会采用消息队列来缓存。

要回复问题请先登录注册