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

news/2024/5/20 4:29:21 标签: flume, hdfs, 大数据

一、目的

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

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

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

在Flume任务的配置文件设置

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

而不是

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的两个文件,因为有两个数据源。

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

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

Flume虽然安装简单,但是使用起来却非常不简单,使用过程中需要优化的配置服务很多,需要进一步研究总结!


http://www.niftyadmin.cn/n/5009389.html

相关文章

CPU和GPU性能优化

在Unity游戏开发中,优化CPU和GPU的性能是非常重要的,可以提高游戏的运行效率、降低功耗和延迟,并提高用户体验。以下是一些优化CPU和GPU性能的方法: 1.优化游戏逻辑和算法 减少不必要的计算和内存操作,例如避免频繁的…

python开发基础篇1——后端操作K8s API方式

文章目录 一、基本了解1.1 操作k8s API1.2 基本使用 二、数据表格展示K8s常见资源2.1 Namespace2.2 Node2.3 PV2.4 Deployment2.5 DaemonSet2.6 StatefulSet2.7 Pod2.8 Service2.9 Ingress2.10 PVC2.11 ConfigMap2.12 Secret2.13 优化 一、基本了解 操作K8s资源api方式&#xf…

祝贺埃文科技入选河南省工业企业数据安全技术支撑单位

近日,河南省工业信息安全产业发展联盟公布了河南省工业信息安全应急服务支撑单位和河南省工业企业数据安全技术支撑单位遴选结果,最终评选出19家单位作为第一届河南省工业信息安全应急服务支撑单位和河南省工业企业数据安全技术支撑单位。 埃文科技凭借自身技术优势…

vue-elementPlus自动按需导入和主题定制

elementPlus自动按需导入 装包 -> 配置 1. 装包(主包和两个插件包) $ npm install element-plus --save npm install -D unplugin-vue-components unplugin-auto-import 2. 配置 在vite.config.js文件中配置,配置完重启(n…

android studio的Android Drawable Preview

Android Drawable Preview 应用后,如下图: 再也不用一个一个点开去看了 其他学习资料: 1、付费专栏《Android kotlin入门到进阶系列讲解》:https://blog.csdn.net/qq_35091074/category_11036895.html 2、免费专栏《Android kot…

详解python的集合

概述 Python语言中的集合类型与数学中的集合概念一致,即包含0个或多个数据项的无序组合。集合是无序组合,用大括号{}表示,它没有索引和位置的概念,集合中的元素可以动态增加或删除。 集合中的元素不可重复,元素类型只…

Android应用开发架构之MVI:原理、流程与实战指南

前言 在现代的Android应用开发中,构建可维护、可扩展且具备响应式特性的架构变得越来越重要。在本文中,我们将介绍一种新颖的架构模式:MVI(Model-View-Intent)。我们将详细讲解MVI架构的原理和流程,并通过…

Druid LogFilter输出可执行的SQL

配置 测试代码: DruidDataSource dataSource new DruidDataSource(); dataSource.setUrl("xxx"); dataSource.setUsername("xxx"); dataSource.setPassword("xxx"); dataSource.setFilters("slf4j"); dataSource.setVal…