首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

flume搜集日志:如何解决实时不断追加的日志文件及不断增加的文件个数问题

本文的背景: 在搜集日志的过程中,日志文件的个数及日志文件需要不断的追加。flume1.6中,可以使用tail -f可以解决不断追加的文件,但是由于日志文件的个数是变化的,不可能只产生一个文件。...需求: 需要能够监控不断增加的文件,并且单个文件也是不断追加的 解决办法: 这时候flume1.7就产生了,很好的通过 TAILDIRl解决了这个问题。TAILDIRl可以监控一个目录下的文件。...在kafka上创建名为aboutyunlog的topic [Bash shell] 纯文本查看 复制代码 ?...再次查看kafka consumer 切换到创建kafka consumer的shell界面,会看到我们log.1中文件的内容被打印在屏幕上。 ?...上图说明我们已经成功使用flume监控/data/aboutyunlog目录,并将监控目录中的内容发送到kafka的aboutyunlog主题中。 注意:如果使用flume1.6会找不到类。

1.7K70

Flume 日志收集系统 Spooldir-Source HDFS-sink

可以将数据保存到HDFS系统上,Flume是一个数据搬运软件,它扩展了很多功能,支持很多数据源。不编写代码利用Flume就可以搭建一个将log保存到HDFS的可靠系统。 一、Flume 组件 ?...因为Flume是一个大数据组件,在刚接触的时候犯了思维惯性错误,以为Source、Channel、Sink是部署在不同主机上的。...2.spooldir 监听目录中的文件 ? spooldir监听文件目录,当出现新文件时,将新文件转化成事件。默认deseriallizer的值是LINE,文件的每行封装成一个Event。...文件名称可以在.properties文件中配置。 总结 本文是Flume基本实验,TailDir是一种更强大的目录源Source,支持文件级的监听。...通过设置Decoder可以文件作为事件(不以Line为Event),实现文件夹的同步。通过级联方式,实现多个主机之间高可靠文件/文件夹同步。

1.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安装数据采集软件Flume

    安装数据采集软件Flume 前提条件: 业务系统需要有hadoop的客户端 安装hadoop集群客户端 直接从hadoop01节点通过scp拷贝客户端到biz01 # 在hadoop01上执行 cd...数据采集软件 可以直接去官网下载采集:https://flume.apache.org/,选择左侧的download 在biz01上安装flume数据采集软件 # 1 上传apache-flume-1.10.1...-bin.tar.gz 到 /bigdata/soft 目录 # 2 解压到指定目录 tar -zxvf apache-flume-1.10.1-bin.tar.gz -C /bigdata/server...# 测试hadoop环境 hdfs dfs -ls / 配置Flume采集数据 在lib目录添加一个ETL拦截器 处理标准的json格式的数据, 如果格式不符合条件, 则会过滤掉该信息 {"key...,记得再查看一下:find iter* 配置采集数据到hdfs文件的配置 在flume的jobs目录,没有该目录,则创建之.

    6810

    Flume学习笔记「建议收藏」

    负载均衡和故障转移 Flume支持使用将多个sink逻辑上分到一个sink组,sink组配合不同的SinkProcessor可以实现负载均衡和错误恢复的功能。...也可以通过继承自AbstractSinkSelector的自定义类来写一个自定义选择器。 工作时,sink选择器使用其配置的选择机制选择下一个sink并调用它。...(7)在 hadoop102上向/opt/module 目录下的 group.log 追加数据 (8)在 hadoop103上向 44444 端口发送数据 (9)检查 hadoop104 上数据...Flume 的 Channel Selectors Flume 参数调优 1)Source 增加 Source (使用 Tair Dir Source 时可增加 FileGroups 个数)可以增大...使用 file Channel 时 dataDirs 配置多个不同盘下的目录可以提高性能。 Capacity 参数决定 Channel 可容纳最大的 event 条数。

    1K10

    Flume如何使用SpoolingDirSource和TailDirSource来避免数据丢失的风险?

    SpoolingDirSource在读取一整个文件到channel之后,它会采取策略,要么删除文件(是否可以删除取决于配置),要么对文件进程一个完成状态的重命名,这样可以保证source持续监控新的文件...但是为了保证这个特性,付出的代价是,一旦flume发现以下两种情况,flume就会报错,停止: ①一个文件已经被放入目录,在采集文件时,不能被修改 ②文件的名在放入目录后又被重新使用(出现了重名的文件.../%Y%m%d/%H/%M #上传文件的前缀 a1.sinks.k1.hdfs.filePrefix = logs- #以下三个和目录的滚动相关,目录一旦设置了时间转义序列,基于时间戳滚动 #是否将时间戳向下舍...Taildir Source 可以读取多个文件最新追加写入的内容! Taildir Source是可靠的,即使flume出现了故障或挂掉。...Taildir Source在工作时,会将读取文件的最后的位置记录在一个 json文件中,一旦agent重启,会从之前已经记录的位置,继续执行tail操作!

    2.1K20

    Flume

    一些公司在Flume工作过程中,会对业务日志进行监控,例如Flume agent中有多少条日志,Flume到Kafka后有多少条日志等等,如果数据丢失保持在1%左右是没有问题的,当数据丢失达到5%左右时就必须采取相应措施...如果需要向HDFS写入数据,Flume需要安装在Hadoop集群上,否则会找不到HDFS文件系统。   Flume可以使用拦截器实时处理数据。这些对数据屏蔽或者过量是很有用的。...(Apache1.7、CDH1.6版本开始存在) taildir挂了不会丢数(断点续传),但是有可能数据重复,生产环境通常不处理重复数据,出现重复的概率比较低。处理会影响传输效率。...taildir source不支持递归遍历文件夹读取文件。   ExecSource可以实时搜集数据,但是在Flume不运行或者Shell命令出错的情况下,数据将会丢失。   ...考虑增加flume内存,在flume-env.sh配置文件中修改flume内存为 4-6g     -Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc。

    31320

    湖仓一体电商项目(四):项目数据种类与采集

    当用户浏览网站触发对应的接口时,日志采集接口根据配合的log4j将用户浏览信息写入对应的目录中,然后通过Flume监控对应的日志目录,将用户日志数据采集到Kafka topic “KAFKA-USER-LOG-DATA...2.2、编写Flume 配置文件a.properties将a.properties存放在node5节点/software目录下,文件配置内容如下:#设置source名称a.sources = r1#设置...类型为TAILDIR,监控目录下的文件#Taildir Source可实时监控目录一批文件,并记录每个文件最新消费位置,agent进程重启后不会有重复消费的问题a.sources.r1.type = TAILDIR...=100# Each sink's type must be defined#设置Kafka接收器a.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink...2.5、 启动Flume,监控用户日志数据到Kafka在node5节点上启动Flume,监控用户浏览日志数据到Kafka “KAFKA-USER-LOG-DATA” topic。

    41971

    flume 1.9 版本更新

    flume 1.9 版本更新 个人见解 关心的几个点 Flume环境变量支持float或double 高版本kafka支持与指标完善 安全相关的几点改进 总体上这个版本并没有带来太核心的变化,老版本用户可以不考虑升级...URL FLUME-3182 - 添加对syslog (tcp)和多端口syslog (tcp)Source的SSL/TLS的支持 FLUME-3186 - 可以在flume配置中调整asyncHbaseClient...client FLUME-3282 - 使用slf4j在每个component ** Bug FLUME-1282 - Maven 2构建flume 1.x失败的情况 FLUME-2232 - Flume...-3218 - 修复外部进程配置filter测试 FLUME-3222 - TAILDIR源删除文件时抛出java.nio.file.NoSuchFileException FLUME-3237 - 处理来自...JMSSource中JMS提供程序的RuntimeExceptions FLUME-3253 - JP Morgan Chase扫描使用Apache Flume 1.8显示Splunk App的漏洞 FLUME

    2K60

    storm基础系列之五---------接入数据收集系统flume

    =".*"[, startFromEnd=false[, recurseDepth=0]]]):监听目录中的文件末尾,使用正则去选定需要监听的文件(不包含目录),recurseDepth为递归监听其下子目录的深度...3.想采集windows服务器上的日志文件,于是,研究了flume怎么在windows下部署。...使用方法就是直接解压缩,然后把exe文件放到C:/Windows/System32/ 下,验证方式是随便找个txt文件,用tail -f 文件名。可以看到和linux一样的效果。...\flume-conf.properties -n %AGENT%   需要注意的是几处路径的配置 至此,全部准备工作做完,下面在cmd进入flume/bin目录,执行这个.bat文件。...//看好类全路径是否都对,网上有不靠谱的写法,org.apache.flume.plugins.SinglePartition 令人鄙视 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

    61890

    Flume采集App端埋点行为数据至Hdfs

    采集背景此文章来自尚硅谷电商数仓6.0我们在采集日志服务器的日志数据时,先将数据通过Flumel中转到Kafka中(方便后续实时处理),再通过Flume将数据采集至Hdfs。...(第一天接近24点的数据从Kafka流过被flume采集时header里面的时间戳时间【记录的是当前时间不是业务时间】会因延迟导致变成第二天的时间)而我们在HDFSSink的时间路径又是来自于header...从而将数据准确采集到Hdfs中的日期目录。...Flume采集器1file_to_kafka.conf此采集器将日志服务器的埋点行为数据采集至kafka中由于KafkaChannel可以将数据直接采集到Kafka中,所以我们不再使用sink来处理vim...*a1.sources.r1.positionFile = /opt/module/flume/taildir_position.json#配置channela1.channels.c1.type =

    19221

    Flume拦截器实现按照事件时间接入HDFS

    本篇文章大概6457字,阅读时间大约17分钟 Flume作为一个数据接入组件,广泛应用于Hadoop生态中。在业务时间混乱的情况下,按照机器数据在HDFS上分区会降低ETL的效率。...采用Flume自定义拦截器可以实现按照事件时间Sink到HDFS目录,以应对数据的事件时间混乱问题 1 文档编写目的 Flume自定义拦截器的开发和测试,应对日志事件时间混乱问题 集群环境 CDH5.16.2...事务提交后,Channel从buffer中移除这批Event Event是Flume定义的一个数据流传输的最小单位 Flume拦截器 Flume支持使用拦截器在运行时对event进行修改或丢弃 Flume...4 功能测试 将机器上的日志,通过flume sink到hdfs目录上,观察是否根据事件时间生成目录,Flume配置如下 a1.sources = r1 a1.sinks = k1 a1.channels...5 总结 在未使用Flume拦截器的时候,会在数仓层面对昨天入库的数据,先按照事件时间进行重分区在做ETL,采用自定义拦截器的方式,可以直接将事件时间分区操作提前,提升数仓ETL的效率。

    1.4K20

    Flume日志收集系统架构详解

    三、Flume架构分析 1. 系统特点 ① 可靠性 当节点出现故障时,日志能够被传送到其他节点上而不会丢失。...用户可以在Master上查看各个数据源或者数据流执行情况,并且可以对各个数据源进行配置和动态加载。Flume提供了Web和Shell Script Command两种形式对数据流进行管理。...*"[,startFromEnd=false[,recurseDepth=0]]]):监听目录中的文件末尾,使用正则表达式选定需要监听的文件(不包含目录),recurseDepth为递归监听其下子目录的深度...下面给出一个使用SDK与Flume建立连接的样例如下,实际使用中可以参考实现: import org.apache.flume.Event; import org.apache.flume.EventDeliveryException...Flume使用模式 Flume的数据流由事件(Event)贯穿始终。

    2K80

    2-网站日志分析案例-日志采集:Flume-Kafka-Flume-HDFS

    文章目录 2-网站日志分析案例-日志采集:Flume-Kafka-Flume-HDFS 环境安装 虚拟机安装 安装hadoop 安装zookeeper 安装过程 基本命令 安装flume 安装过程 基本命令.../dist/flume/1.7.0/apache-flume-1.7.0-bin.tar.gz 2.解压 tar -zxf apache-flume-1.7.0-bin.tar.gz -C /opt/apps...上面的配置文件定义了一个agent的name为a1,a1的source监听6666端口,并且读取6666端口传过来的数据, a1的channel 采用内存作为缓存,a1的sink 类型为logs,具体含义可以参考官网...基本命令 在flume的安装目录下执行如下命令,即可使用flume采集数据: $ bin/flume-ng agent -n a1 -c conf -f conf/netcat2logger.conf...=r1 a1.channels=c1 a1.sinks=k1 #config component source,we choose the taildir source,because it can breakpoint

    32510

    项目实践|基于Flink的用户行为日志分析系统

    本文分享将完整呈现日志分析系统的数据处理链路,通过本文,你可以了解到: 基于discuz搭建一个论坛平台 Flume日志收集系统使用方式 Apache日志格式分析 Flume与Kafka集成 日志分析处理流程...\") Flume与Kafka集成 本文使用Flume对产生的Apache日志进行收集,然后推送至Kafka。...「TailDir Source」:断点续传、多目录。...Flume1.6以前需要自己自定义Source记录每次读取文件位置,实现断点续传 「Exec Source」:可以实时收集数据,但是在Flume不运行或者Shell命令出错的情况下,数据将会丢失 「Spooling...,需要先将Hadoop的依赖jar包放置在Flink安装目录下的lib文件下:「flink-shaded-hadoop-2-uber-2.7.5-10.0.jar」,因为我们配置了HDFS上的状态后端,

    2.3K31

    数仓日记 - 数据采集平台

    类型选择 1)Source   (1)source选择 TailDir Source,他的优点是:支持断点续传、多目录。...然后在Hadoop101上执行命令bin/flume-ng agent --name a1 --conf-file conf/file-flume-kafka.conf启动flume,然后执行命令bin...正常运行后,能使用的内存上限是2000m 同步配置到hadoop102、hadoop103服务器 [atguigu@hadoop102 conf]$ xsync flume-env.sh Flume内存参数设置及优化...  JVM heap一般设置为4G或更高,部署在单独的服务器上(4核8线程16G内存)   -Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc。   ...如果设置不一致,容易在初始化时,由于内存不够,频繁触发fullgc。 9.

    2.9K20
    领券