问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

大数据之Flume

发布网友 发布时间:2022-10-18 06:18

我来回答

1个回答

热心网友 时间:2023-11-09 00:19

在大数据的业务处理过程中,对于数据的采集是十分重要的一步。许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:

Flume是由Cloudera公司研发的一个高可用、高可靠、分布式的海量日志采集、聚合和传输系统,后于2009年捐赠给Apache软件基金会。

Apache Flume 的使用不仅限于日志数据聚合。由于数据源是可定制的,因此 Flume 可用于传输大量事件数据,包括但不限于网络流量数据、社交媒体生成的数据、电子邮件消息以及几乎任何可能的数据源。

与Flume类似的开源框架还有*的Scribe、Apache的Chukwa、阿里巴巴的Time Tunnel

Flume内部有一个或者多个Agent,对于每一个Agent来说,它就是一个独立的守护进程(JVM),它从客户端哪儿接收收集,或者从其他的 Agent接收,然后迅速的将获取的数据传给下一个目的节点sink,或者agent。

Agent主要由source、channel、sink三个组件组成。

Source 负责数据的产生或搜集,一般是对接一些RPC的程序或者是其他的Flume节点的Sink,从数据发生器接收数据,并将接收的数据以Flume的event格式传递给一个或者多个通道Channel。

Flume提供多种数据接收的方式,比如包括avro、thrift、jms、syslog等,如果不能满足需求还可以自定义。

Channel是位于Source和Sink之间的缓冲区。因此,Channel允许Source和Sink运作在不同的速率上。Channel是线程安全的,可以同时处理几个Source的写入操作和几个Sink的读取操作。

Channel 是一种短暂的存储容器,负责数据的存储持久化,可以持久化到jdbc,file,memory,将从Source处接收到的event格式的数据缓存起来,直到它们被sinks消费掉。数据只有存储在下一个存储位置(可能是最终的存储位置,如HDFS;也可能是下一个Flume节点的Channel),数据才会从当前的Channel中删除。这个过程是通过事务来控制的,这样就保证了数据的可靠性

Sink 负责数据的转发,不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。

Sink 是完全事务性的。在从 Channel 批量删除数据之前,每个 Sink 用 Channel 启动一 个事务。批量事件一旦成功写出到存储系统或下一个 Flume Agent,Sink 就利用 Channel 提 交事务。事务一旦被提交,该 Channel 从自己的内部缓冲区删除事件。

Sink组件目的地包括hdfs、logger、file、HBase或者自定义等。若sink 发送失败,会将数据重新写入Channel ,这里涉及到Flume 的事务(回滚)。

Flume的数据流由事件(Event)贯穿始终。

可以将多个Agent顺序连接起来,最初的数据源经过收集,存储到最终的存储系统中。这是最简单的情况,一般情况下,应该控制这种顺序连接的Agent 的数量,因为数据流经的路径变长了,如果不考虑failover的话,出现故障将影响整个Flow上的Agent收集服务。

这种情况应用的场景比较多,比如要收集Web网站的用户行为日志, Web网站为了可用性使用的负载集群模式,每个节点都产生用户行为日志,可以为每 个节点都配置一个Agent来单独收集日志数据,然后多个Agent将数据最终汇聚到一个用来存储数据存储系统,如HDFS上。

Flume还支持多级流。来举个例子,当syslog, java, nginx、 tomcat等混合在一起的日志流开始流入一个agent后,可以agent中将混杂的日志流分开,然后给每种日志建立一个自己的传输通道。

下图Agent1是一个路由节点,负责将Channel暂存的Event均衡到对应的多个Sink组件上,而每个Sink组件分别连接到一个独立的Agent上 。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
别墅装修多久可以住 快过年了装修好的新房多久能入住 怎样验证正在抱窝的鸽蛋已抱不出小鸽子了 我的微信不能随时拍照发照片,只能先拍好,找出来.在发.用微信拍照时,提 ... 纪念钞升值生涯的高峰 女人肝气郁结该怎么治疗好?女人肝气郁结吃什么药 病危老人吹气怎么回事 肝气郁结吃什么 【时令蔬菜】5月份吃什么蔬菜好 5月十大蔬菜正当鲜 人海中怎么造句 地面高度每上升一千米 气温降多少摄氏度 北方栾树施什么肥长的快 新栽栾树树苗什么时间抹芽适宜 怎么弄免费的背景音乐啊?? 如何弄免费的背景音乐 怎样弄免费的背景音乐 长沙南方多大 关于湖南生物机电职业技术学院 长沙丰信教学仪器有限公司怎么样? 长沙旺林教学仪器有限公司怎么样? 长沙天心区机电教学仪器厂怎么样? 连词成句:who,you,with,did,play what,,was,day,yesterday why do? play what?的意思 药膏的膏怎么组词 手机工商注册:杭州下城公司注册流程及费用是怎样的 高新区工商注册:杭州下城公司注册流程及费用是怎样的 在中国内地加盟一个麦当劳餐厅要花多少钱? 2018年6月17号到2020年的4月24日多少天了? 2018年6月16号到2022年9月19号多少天 2O18年阴历6月1日阳历几号 如何用烫画制作T恤? 龙岗最专业、价格最实惠的热转印加工、烫画加工、皮革热转印哪里有 IObit Unstaller:好用的卸载软件工具 广西白色的烧烤咋做 新家装修要买床垫,看了进口床垫品牌排行榜还是没头绪,有人能推荐吗? 麻烦问一下,进口床垫什么品牌好,能推荐一款舒适又抗压的吗? 进口床垫什么品牌好 我遛狗的时候,要是有别的恶狗要咬我家狗,我该怎么办?不知道驱狗神器管不管用?还是拿棍子? 画画兰花和什么鸟搭配好看 烟台南山学院今年寒假几号放假! 求郑多燕全套,小红帽、小灰帽、垫上、瘦腿瘦臀操,中文版的! 梦见参加乔迁宴 梦见正在喝乔迁酒 地垫滑怎么处理 快手极速版的账号发作品能上热门吗知乎 在word表中,打了一行字,在行中加了个空格键或者加个字,然后后面字就不见了,是怎么回事 风云鲁商的栏目介绍 请问鲁商物产总部应届大学生具待遇如何,发展前景如何~~ 喝羊奶不能吃什么水果 谁找一张有“忍”字的壁纸,要求壁纸中只有这一个字,背景要黑色的,要高清的!