`
liangyan9966
  • 浏览: 40854 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Flume监听文件夹中的文件变化_并把文件下沉到hdfs

阅读更多
阅读全文http://click.aliyun.com/m/23237/
1、采集目录到HDFS
采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集到HDFS中去
根据需求,首先定义以下3大要素
采集源,即source——监控文件目录 : spooldir
下沉目标,即sink——HDFS文件系统 : hdfs sink
source和sink之间的传递通道——channel,可用file channel 也可以用内存channel

配置文件spooldir-hdfs.conf编写:

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
##注意:不能往监控目中重复丢同名文件
## 通过spooldir来监控文件内容的变化
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /home/tuzq/software/flumedata
a1.sources.r1.fileHeader = true

# Describe the sink
## 表示下沉到hdfs,下面配置的类型不同,type下面的参数就不同
a1.sinks.k1.type = hdfs
#sinks.k1只能连接一个channel,source可以配置多个
a1.sinks.k1.channel = c1
#下面的配置告诉用hdfs去写文件的时候写到什么位置,下面的表示不是写死的,而是动态变化的。表示输出的目录名称是可变的
a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/
#表示文件的前缀
a1.sinks.k1.hdfs.filePrefix = events-
#表示到了需要触发的时间时,是否要更新文件夹,true:表示要更新
a1.sinks.k1.hdfs.round = true
##表示每隔1分钟改变一下文件夹
a1.sinks.k1.hdfs.roundValue = 1
##切换文件的时候单位是分钟
a1.sinks.k1.hdfs.roundUnit = minute
##表示只要过了3秒钟,就切换生成一个新的文件
a1.sinks.k1.hdfs.rollInterval = 3
##如果记录的文件大于20字节时切换一次
a1.sinks.k1.hdfs.rollSize = 20
##当写了5个事件时触发
a1.sinks.k1.hdfs.rollCount = 5
##收到了多少条消息往hdfs中追加内容
a1.sinks.k1.hdfs.batchSize = 1
#使用本地时间戳
a1.sinks.k1.hdfs.useLocalTimeStamp = true
#生成的文件类型,默认是Sequencefile,可用DataStream,则为普通文本
a1.sinks.k1.hdfs.fileType = DataStream

# Use a channel which buffers events in memory
##使用内存的方式
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
Channel参数解释:
capacity:默认该通道中最大的可以存储的event数量
trasactionCapacity:每次最大可以从source中拿到或者送到sink中的event数量
keep-alive:event添加到通道中或者移出的允许时间
阅读全文http://click.aliyun.com/m/23237/
分享到:
评论

相关推荐

    Flume-HDFS-驱动-jar包

    压缩包子文件的“flume-hdfs驱动”很可能包含了这些必要的Hadoop JAR文件,解压后应该把这些文件复制到Flume安装目录下的`lib`子目录中。这样,Flume启动时会自动加载这些库,使得Flume可以识别并正确操作HDFS。 ...

    Flume-ng在windows环境搭建并测试+log4j日志通过Flume输出到HDFS.docx

    Flume-ng 是一个高可用、可靠、分布式的日志聚合系统,可以实时地从各种数据源(如日志文件、网络 socket、数据库等)中收集数据,并将其传输到目标系统中,如 HDFS、HBase 等。在本文中,我们将介绍如何在 Windows ...

    flume-demo_大数据_flume_DEMO_自定义拦截器_

    这个名为 "flume-demo_大数据_flume_DEMO_自定义拦截器_" 的项目,显然是一个示例,展示了如何在 Flume 中创建并使用自定义拦截器来过滤数据。下面我们将深入探讨 Flume 的基本概念、拦截器的作用以及如何自定义拦截...

    利用Flume将MySQL表数据准实时抽取到HDFS、MySQL、Kafka

    标题中的“利用Flume将MySQL表数据准实时抽取到HDFS、MySQL、Kafka”是一项数据集成任务,涉及Apache Flume、MySQL数据库、Hadoop Distributed File System (HDFS) 和Apache Kafka这四个关键技术。Flume是Apache的一...

    Flume采集数据到Kafka,然后从kafka取数据存储到HDFS的方法思路和完整步骤

    本文将详细介绍如何利用Flume采集日志数据,并将其发送到Kafka中,最后将这些数据从Kafka取出并存储到HDFS上。这一流程不仅适用于大规模的日志数据采集场景,还能帮助读者快速熟悉Flume、Kafka和HDFS等大数据组件的...

    flume所需要的hdfs包.zip

    在标题和描述中提到的 "flume所需要的hdfs包.zip" 暗示了这个压缩包可能包含了一些 Flume 与 HDFS(Hadoop 分布式文件系统)集成所必需的组件或配置。 HDFS 是 Hadoop 的核心组件之一,它是一个分布式文件系统,...

    Flume_1.6.0——Spark Streaming_2.1XXX

    该压缩包下commons-lang3-3.3.2.jar,spark-streaming-flume_2.10-1.6.0.jar,scala-compiler-2.10.5.jar用于实现Flume监控文件夹中的内容变化,然后Spark Streaming对数据进行分析。

    flume+hdfs所需jar.rar

    在本压缩包“flume+hdfs所需jar.rar”中,包含了 Flume 1.9.0 版本与 HDFS 3.2.2 版本相关的 jar 文件,这些 jar 文件是将 Flume 集成到 HDFS 生态系统的关键组件。 Flume 的核心概念包括源头(Source)、通道...

    Flume配置双HA hdfsSink.docx

    - 将修改后的代码编译打包成JAR文件,并将其放置于Flume安装目录下的`lib`文件夹中。 5. **配置自定义HDFSSink**: - 在Flume Agent的配置文件中添加自定义的HDFSSink。例如,配置文件可以包含如下内容: ```...

    实时大数据采集框架Flume详解(视频+课件+代码+工具)

    05_Flume中配置HDFS文件生成大小及时间分区 06_Flume中配置Spooling Dir的使用 07_Flume中配置Spooling Dir的文件过滤 08_Flume中配置扇入架构的介绍 09_Flume中配置扇入架构的测试实现 10_Flume中配置扇出...

    flume17ess522_0827_01

    2. **Flume配置**:为了将Flume连接到Elasticsearch,我们需要在Flume配置文件中添加Elasticsearch Sink的相关配置,包括服务器地址、端口、索引名称和类型等信息。 3. **Elasticsearch Sink配置**:`flume-ng-...

    tada_分析各区域热门商品_——_使用_Flume_采集数据,MapReduce_或_

    tada_分析各区域热门商品_——_使用_Flume_采集数据,MapReduce_或_Spar_area-hot-product

    天气爬虫采集,kafka实时分发,flume_收集数据导入到_Hbase,_再由_Hive_

    天气爬虫采集,kafka实时分发,flume_收集数据导入到_Hbase,_再由_Hive_与_Hb_weather-mrs

    Flume采集Rabbitmq数据同步到HDFS

    在这个场景中,我们将探讨如何使用Flume从RabbitMQ消息队列中采集数据,并同步到HDFS。 RabbitMQ是一个开源的消息代理和队列服务器,广泛应用于各种分布式系统中,提供可靠的数据交换机制。它允许生产者发送消息,...

    flime安装+配置+测试+案例(采集日志至HDFS)

    在本文中,我们将深入探讨 Flume 的安装、配置、测试以及如何将其应用于实际案例,即从不同节点采集日志并存储到 HDFS。 首先,我们从安装 Flume 开始。Flume 的安装包括解压安装包,重命名 Flume 目录,配置 `...

    大数据采集技术-Flume读取本地文件到HDFS.pptx

    大数据采集技术是现代数据处理体系中的重要组成部分,它负责从各种源收集大量数据,并将其汇聚到统一的存储系统,如Hadoop HDFS(Hadoop Distributed File System)。在本主题中,我们将深入探讨如何使用Apache ...

    Kafka hdfs flume 数据采集实验

    在这个实验中,Flume 可能被配置为Kafka消费者,从Kafka中读取数据,并将其存储到HDFS中。 Hadoop Distributed File System (HDFS) 是Hadoop生态系统中的分布式文件系统。HDFS设计为跨多台机器存储大规模数据,提供...

    flume 简介安装使用案例(将log4j数据写到hdfs中)

    配置 `conf/flume-env.sh` 文件,设置 FLUME_HOME 和 JAVA_HOME 环境变量。启动 Flume-Agent 使用以下命令: ```bash $ bin/flume-ng agent --conf conf --conf-file conf/flume.conf --name <agent_name> -Dflume....

Global site tag (gtag.js) - Google Analytics