一百七十三、Flume——Flume写入HDFS后的诸多小文件问题

这篇具有很好参考价值的文章主要介绍了一百七十三、Flume——Flume写入HDFS后的诸多小文件问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、目的

在用Flume采集Kafka中的数据写入HDFS后,发现写入HDFS的不是每天一个文件,而是一个文件夹,里面有很多小文件,浪费namenode的宝贵资源

一百七十三、Flume——Flume写入HDFS后的诸多小文件问题,Flume,flume,hdfs,大数据

二、Flume的配置文件优化(参考了其他博文)

(一)方法一、大多数人推荐经过测试有效的方法

在Flume任务的配置文件设置

a1.sinks.k1.hdfs.rollSize = 0  
a1.sinks.k1.hdfs.rollCount = 0  

一百七十三、Flume——Flume写入HDFS后的诸多小文件问题,Flume,flume,hdfs,大数据

而不是

a1.sinks.k1.hdfs.round=true

a1.sinks.k1.hdfs.roundValue=10

a1.sinks.k1.hdfs.roundUnit=minute

将rollSize和rollCount设置为0,表示不根据临时文件大小和event数量来滚动文件(滚动文件即指将HDFS上生成的以.tmp结尾的临时文件转换为实际存储文件

还有说可以调大rollSize的参数,比如调至102400,表示100KB。滚动文件的单位是byte。

(二)方法二、有人推荐经过测试后似乎有效的方法

还是在Flume任务的配置文件设置

a1.sinks.k1.hdfs.minBlockReplicas=1

我测试过,本来每5分钟就会有104.54 KB和1.63 KB的两个文件,因为有两个数据源。

一百七十三、Flume——Flume写入HDFS后的诸多小文件问题,Flume,flume,hdfs,大数据

在配置文件里加入这个a1.sinks.k1.hdfs.minBlockReplicas=1后,那个小文件1.63 KB就消失了。

所以这个方法还是有效的,但是对我来说就有点问题,就把它给去掉了,还是用方法一

Flume虽然安装简单,但是使用起来却非常不简单,使用过程中需要优化的配置服务很多,需要进一步研究总结!文章来源地址https://www.toymoban.com/news/detail-706591.html

到了这里,关于一百七十三、Flume——Flume写入HDFS后的诸多小文件问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++之map的emplace与pair插入键值对用例(一百七十四)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月12日
    浏览(43)
  • C++之std::pair<uint64_t, size_t>应用实例(一百七十七)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月12日
    浏览(61)
  • 二百一十一、Flume——Flume实时采集Linux中的Hive日志写入到HDFS中(亲测、附截图)

    为了实现用Flume实时采集Hive的操作日志到HDFS中,于是进行了一场实验 [root@hurys23 conf]# find / -name hive.log /home/log/hive312/hive.log [root@hurys23 conf]# vi  flume-file-hdfs.conf # Name the components on this agent a2.sources = r2 a2.sinks = k2 a2.channels = c2 # Describe/configure the source a2.sources.r2.type = exec a2.sources

    2024年02月04日
    浏览(62)
  • 第二百七十七回

    我们在上一章回中介绍了\\\"DropdownMenu组件\\\"相关的内容,本章回中将介绍DropdownButton组件.闲话休提,让我们一起Talk Flutter吧。 我们在本章回中介绍的DropdownButton组件和上一章回中介绍的DropdownMenu组件类似,主要用来实现下拉菜单,不过该组件在外观上像一个带图标的按钮, 点击

    2024年01月21日
    浏览(49)
  • 冥想第七百七十九天

    1.今天五一劳动节,懒惰了火气也大,主要是因为车钥匙妈妈拿着自己已经走了三公里了。 2.感谢好心人帮忙把钥匙送过来。 3.今天带妈妈姥姥去了北龙湖。风景超好。 4.给pve爱快安装了证书。 5.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。

    2024年02月02日
    浏览(44)
  • 一百八十二、大数据离线数仓完整流程——步骤一、用Kettle从Kafka、MySQL等数据源采集数据然后写入HDFS

    经过6个月的奋斗,项目的离线数仓部分终于可以上线了,因此整理一下离线数仓的整个流程,既是大家提供一个案例经验,也是对自己近半年的工作进行一个总结。 项目行业属于交通行业,因此数据具有很多交通行业的特征,比如转向比数据就是统计车辆左转、右转、直行

    2024年02月07日
    浏览(50)
  • 一百九十一、Flume——Flume配置文件各参数含义(持续完善中)

    在实际项目的开发过程中,不同Kafka主题的数据规模、数据频率,需要配置不同的Flume参数,而这一切的调试、配置工作,都要建立在对Flume配置文件各参数含义的基础上 1、含义:写入hdfs的文件名前缀,可以使用flume提供的日期及%{host}表达式 2、默认值为FlumeData 1、含义:写入

    2024年02月08日
    浏览(43)
  • 【Flume】Flume实践之采集文件内容上传至HDFS

           使用Flume从文件夹中采集数据并上传到HDFS中。要完成这个任务就需要使用在采集数据时使用Spooling Directory Source组件;传输数据时为了保证数据没有丢失风险,使用File Channel组件;输出数据时使用HDFS Sink。        Flume各个组件的参数很多,因此通常复制官网的各

    2024年02月11日
    浏览(46)
  • 大数据Flink(七十三):SQL的滚动窗口(TUMBLE)

    文章目录 SQL的滚动窗口(TUMBLE) 滚动窗口定义 :滚动窗口将每个元素指定给指定窗口大小的窗口。滚动窗口具有固定大小,且不重叠。例如,指定一个大小为 5 分钟的滚动窗口。在这种情况下,Flink 将每隔 5 分钟开启一个新的窗口,其中每一条数都会划分到唯一一个 5 分钟

    2024年02月09日
    浏览(35)
  • Flume实战篇-采集Kafka到hdfs

    记录Flume采集kafka数据到Hdfs。 主要是自定义下Flume读取event头部的时间。 将打好的包放入/opt/module/flume/lib文件夹下 [root@ lib]$ ls | grep interceptor flume-interceptor-1.0-SNAPSHOT-jar-with-dependencies.jar 配置下flume的jvm    上面配置消费的形式是earliest,如果重新启动以后,他会从最新的位置开

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包