flume应该思考的问题

Posted About云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flume应该思考的问题相关的知识,希望对你有一定的参考价值。

问题导读

1.flume的配置你是如何理解的?
2.flume与kafka整合,kafka可以做哪些组件?
3.flume与kafka的区别是什么?

flume是比较常用的大数据技术,那么学习flume,我们还需要思考flume,这样理解才能在遇到问题的时候,更容易解决,使用起来更加的得心应手。下面介绍了flume的相关内容及个人的理解。

flume应用
一般来讲,我们接触flume可能更早一些。flume如何安装可参考
让你快速认识flume及安装和使用flume1.5传输数据(日志)到hadoop2.2
http://www.aboutyun.com/forum.php?mod=viewthread&tid=7949
如果你安装测试过flume,可以知道flume可以传递数据到另外的地方。比如我们可以传递本地文件到hadoop文件,比如搜集日志到hadoop,然后通过mapreduce或则spark处理。这也是比较常见的。


flume解析
flume有哪些内容,我们刚开始学习的时候,几乎都是复制黏贴的方式。对于它们几乎不怎么理解,或则只是停留在表面的理解。所以导致我们产生异常或则错误的时候,就不知道怎么解决了。
这里解析下flume,可以知道我们在干什么,我们遇到错误的时候,能够知道哪里出现了问题。

channel的作用
flume传递数据,包含三个组件:source,channel,sink.
那么如果我们来开发flume,我们会如何开发。好像channel这个不是必须的。因为有了数据源source和数据传递目标sink,应该就可以了。为何还需要channel。感觉channel是多此一举。
从正常的角度来说channel确实是不需要的。但是有一个前提,source和sink要保持同步。也就说,source发送一条数据,sink需要立即消费和保存一条数据。
下图是正常flume




下图是去掉channel的flume。如果一旦数据源频率过快,sink来不及消费保存数据,那么就会造成丢失数据。
 

如何定制flume
一个灵活的程序,都是可以配置的,最常见的是xml格式文件,当然也可以是其它格式,普通txt也是可以的。所以我们看到无论是那种开源技术,都是可以配置的。甚至对于刚入门的初学者来说,就认为配置文件是必须的。
所以我们这里所说的定制,是对flume的的定义。那么flume该如何定制。
那就是通过对应source、channel、sink的定义。
这里我们只接贴出配置文件

[XML] 纯文本查看 复制代码

?

01

以上是关于flume应该思考的问题的主要内容,如果未能解决你的问题,请参考以下文章

Flume启动问题

聊聊Flume和Logstash的那些事儿

聊聊Flume和Logstash的那些事儿

使用flume在两个单独的表中写入hive仓库目录中的数据

Flume简介

flume初识

(c)2006-2024 SYSTEM All Rights Reserved IT常识