flume的整体基础架构包括三个,分别是source,chanel, sink. 下面是官网的截图:

因此,优化要从三个组件的角度去分别优化。

大数据学习群119599574
1、source

sources是flume日志采集的起点,监控日志文件系统目录。其中最常用的是 Spooling Directory Source , Exec Source 和 Avro Source 。

关键参数讲解:

(1)batchSize:这个参数当你采用的是 Exec Source 时,含义是一次读入channel的数据的行数,当你采用Spooling Directory Source含义是 Granularity(粒度) at which to batch transfer to the channel ,据我分析应该是events(flume最小处理数据单元)的数量。

这个参数一般会设置比较大,一般的数值跟每秒要处理的数值相当。

(2)inputCharset 这个很重要,就是文本文件的编码,默认是flume按照utf-8处理,如果文本数据是gbk,则要增加此参数,

(3)interceptors flume自带的拦截器,可以根据正则表达式去过滤数据,但是据我实际经验总结,这个配置很影响入库性能,因此这部分工作我基本都在sink代码里面做。

2、channel

channel 是flume的中间数据缓存管道,有点类似kafka的机制,因此个组件的性能很重要。

我在项目中主要采用的是menmory channel,原因是数据量大,要求极大的数据吞吐量和速度,但是有一点不好的是

如果一旦flume进程down掉,是没有“续点传输”的机制的,filechannel 和它正好相反。

关键参数讲解:

(1) capacity : 存储在channel中的events的最大数量

(2) transactionCapacity : 每次数据由channel到sink传输的最大events的数量

(3) byteCapacity :该channel的内存大小,单位是 byte 。

其中transactionCapacity关键中最容易忽略的,因为每个sink的终端不一样,批处理的数量要严格限制。还有一点,events的数量值和channel大小不是一回事,一个event包括单位数据的内容+头数据+数据传输状态。可以说 (events的数量值*单位数据所占字节数)* 0.9 = 所占空间内存数值(就是想说明transactionCapacity 的大小和byteCapacity 不能简答的数值比较)。

3、sink

sink组件的核心工作是把channel中数据进行输出到特定的终端,比如hdfs,Hbase,database,avro等等。

因此这块的核心优化工作在优化各个终端(hdfs,hbase,database,avro)的数据插入性能。在这里面我只优化过hbase的数据插入性能(具体的做法就是打开flume hbasesink源码,修改然后打包),当然这块的工作不在flume本身,这也不是flume所能控制的。

大数据学习之小白快速了解flume相关推荐

  1. 大数据学习,Scala快速学习的方法

    大数据学习过程中,都会学习Scala,众所周知,Spark支持4门语言,分别为R.Python.Java与Scala,但真正的底层实现语言则是Scala.在我以往的实践分享中,除了Python,我还会 ...

  2. 小白如何学习大数据开发,大数据学习路线是怎样的?

    零基础的同学学习大数据开发不能急于求成,要分阶段分步骤来一步步完成,科多大数据给大家来分享一下大数据的学习路线是什么?小白该怎么学习大数据呢,大概可以分为四步: 大数据学习资料分享群142973723 ...

  3. 大数据学习路线2019版(附全套视频教程及网盘下载)

    什么是大数据? 大数据(BIG DATA)是指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的 ...

  4. 大数据学习路线详解,零基础学大数据学习路线

    在大数据蓬勃发展的现今,大家都看到了大数据未来不可限量的发展前景,跟着科技发展的潮流,不断学习新的技术知识,科多大数据相信,成为人生赢家不在话下. 大数据的三个发展方向,平台搭建/优化/运维/监控.大 ...

  5. 2021最全大数据学习路线(建议收藏)

    个人简介:非科班双一流硕士,CAE仿真方向转行大数据,现杭州某大厂大数据工程师! 我可以给你提供最全的[大数据学习路线]:帮助你搭建大数据知识体系,从入门到精通:亲自指导你大数据工程师面试的简历该如何 ...

  6. 大数据学习路线图(附上大数据学习资料)

    不知道你是计算机专业应届生还是已经从业者.总之,有java基础的学生学习大数据会轻松很多,零基础的小白都需要从java和linux学起.如果你是一个学习能力特别强,而且自律性也很强的人的话可以通过自学 ...

  7. 峰哥读者的大数据学习路线,附学习资料

    个人简介:非科班双一流硕士,CAE仿真方向转行大数据,现杭州某大厂大数据工程师! 前言 本文针对非科班生转行大数据所遇到的问题,提出一些切实的建议,以免小伙伴在学习过程中走弯路. 我依据自己转行所走过 ...

  8. 大数据学习,涉及的知识点

    大数据技术都包括哪些,如何学习大数据技术.首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后. 很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什 ...

  9. 大数据学习规划(新手入门)

    前言: 一.背景介绍 二.大数据介绍 正文: 一.大数据相关的工作介绍 二.大数据工程师的技能要求 三.大数据学习规划 四.持续学习资源推荐(书籍,博客,网站) 五.项目案例分析(批处理+实时处理) ...

最新文章

  1. itext库产生word文档示例(.doc)
  2. matlab ltiview应用例子,Matlab控制工具箱(网络软件)
  3. 记一次Nacos的issue修复之并发导致的NPE异常
  4. 21.等值线图(Counter Plot)、Contour Demo、Creating a “meshgrid”、Calculation of the Values、等
  5. 移动电子商务,“移动”至生活
  6. 【网络/通信】概念的理解 —— 带宽、吞吐量、净荷
  7. 快速安装rubyinstaller-devkit
  8. 用好这 43 款 Chrome 插件,让你开发学习一下子好轻松!
  9. Google Guava中Joiner用法
  10. shell脚本自动更新ca证书
  11. 计算机名词解释(计算机科学导论)
  12. Java---登录页面及其接口的实现
  13. Android ViewPager嵌套ViewPager+Fragment问题
  14. unity动画状态机做到立即取消当前动画的播放,再次播放该动画
  15. 【附源码】想成为Python爬虫高手,这29个爬虫项目不容错过
  16. 卡西欧计算机怎么玩游戏fx,卡西欧计算器玩游戏
  17. 构建商业化思维,实现组织商业价值——商业分析学习笔记(1)
  18. Linux K8S(Kubernetes)常用命令
  19. 惯性导航和惯性器件(一)
  20. H3C ER3200双WAN口设置案例图解

热门文章

  1. 利用Anaconda配置环境(安装第三方库)
  2. android 直播悬浮窗口,实战:快手直播伴侣 解决安卓悬浮窗/闪退等问题
  3. 洛谷 P3014 [USACO11FEB]牛线Cow Line
  4. 谷歌浏览器 打开网页出现 out of memory
  5. IDEA 报 Error:java: java.lang.StackOverflowError
  6. 学计算机能用到的礼物,考上大学送什么礼物好,盘点10款有趣的
  7. 【小睿精选·第八期】为NBA球员提供预警新冠肺炎的智能戒指Oura Ring
  8. 杰奇安装 mysql失败_关于杰奇CMS安装乱码的解决方法
  9. 不正方形(四个点构成一个凸四边形)
  10. 2021-05-16 C#.NET面试题 列举你知道的数字格式化转换