flume 使用遇到问题及解决

1. ../flume/fchannel/spool/data/ 目录下发生缓存文件积压

可能原因:同一时间同一客户端下向两个监控目录mv文件;或同一时间多个客户端向服务端上传文件

2.清空../flume/fchannel/spool/data/ 目录下文件重启后,监控目录下的文件发生积压,没有上传

flume.log里面重复一个异常:

java.lang.IllegalStateException: Channel closed [channel=c1]. Due to java.lang.NullPointerException: null
        at org.apache.flume.channel.file.FileChannel.createTransaction(FileChannel.java:352)
        at org.apache.flume.channel.BasicChannelSemantics.getTransaction(BasicChannelSemantics.java:122)
        at org.apache.flume.channel.ChannelProcessor.processEventBatch(ChannelProcessor.java:181)
        at org.apache.flume.source.SpoolDirectorySource$SpoolDirectoryRunnable.run(SpoolDirectorySource.java:188)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
        at org.apache.flume.channel.file.Log.writeCheckpoint(Log.java:1028)
        at org.apache.flume.channel.file.Log.replay(Log.java:472)
        at org.apache.flume.channel.file.FileChannel.start(FileChannel.java:302)
        at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251)
        ... 9 more

原因是:清空../flume/fchannel/spool/data/ 目录下文件的同时也需要清空../flume/fchannel/spool/checkpoint/ 目录下的文件

另,有几个关于flume的问题:

1. flume支持监控目录有子目录的情况,但是同时向两个或多个子目录mv文件的时候,对文件大小有没有限制?

2. flume支持同时多少客户端向同一监控目录下mv文件呢?

3. flume客户端的/opt/soft/flume/fchannel/spool/data目录下的文件的作用是?

4. 怎么有效验证flume客户端上传文件是否成功呢?

时间: 2024-10-30 17:05:10

flume 使用遇到问题及解决的相关文章

2014年12月总结和2014年1月计划

2014年12月总结: 这月1号新工作开始了我的大数据之旅,从.NET转向Hadoop.工作期间遇到了解决的没有解决的有各种坑,不过好在算是把整套业务给搭建了下来.大体使用的技术及流程如下: mosquittio->flume agent->flume collector->sparkstreaming/hive->mysql/redis.使用的是CDH5.2.0. spark使用的是spark on yarn 实际上只是勉强搭建出来勉强负担现在的业务,大部分东西只是知道大概如何使

Flume Avro Source 远程连接拒绝的解决办法

昨天做了一个Java连接虚拟机,实现Flume Avro Source 的远程连接,确报了一个这样的错,经过了一晚上,终于找到了解决的方案. 我来给大家分享一下! 报错如下: Exception in thread "main" org.apache.flume.FlumeException:NettyAvroRpcClient{ host:xxxx,port:xxxx}:RPC connection error 解决的办法是: 把配置文件中a1.sources.r1.bind必须设置

flume file channel 异常解决

1. 错误提示 2016-04-21 05:40:51,393 (SinkRunner-PollingRunner-DefaultSinkProcessor) [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:160)] Unable to deliver event. Exception follows. java.lang.IllegalStateException: Channel closed [

大数据flume日志采集系统详解

一.flume介绍 flume 是一个cloudera提供的 高可用高可靠,分布式的海量日志收集聚合传输系统.Flume支持日志系统中定制各类数据发送方,用于收集数据.同时flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力. 二.功能介绍   日志收集 Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据. 流程:恒生数据接收中间件---file.txt  哪个端口进行监控 ---

spark 编译遇到的错误及解决办法(二)

[INFO] Spark Project Parent POM ........................... SUCCESS [ 17.129 s] [INFO] Spark Project Tags ................................. SUCCESS [ 29.191 s] [INFO] Spark Project Sketch ............................... SUCCESS [ 14.014 s] [INFO] Spa

那些年踏过的Apache Flume之路

Flume作为日志采集系统,有着独特的应用和优势,那么Flume在实际的应用和实践中到底是怎样的呢?让我们一起踏上Flume之路. 1.  什么是Apache Flume (1)Apache Flume简单来讲是高性能.分布式的日志采集系统,和sqoop同属于数据采集系统组件,但是sqoop用来采集关系型数据库数据,而Flume用来采集流动型数据. (2)Flume名字来源于原始的近乎实时的日志数据采集工具,现在被广泛用于任何流事件数据的采集,它支持从很多数据源聚合数据到HDFS. (3)Flu

Hadoop企业级完整训练:Rocky的16堂课(HDFS&MapReduce&HBase&Hive&Zookeeper&Sqoop&Pig&Flume&Project) - 0515

Hadoop是云计算的事实标准软件框架,是云计算理念.机制和商业化的具体实现,是整个云计算技术学习中公认的核心和最具有价值内容. 如何从企业级开发实战的角度开始,在实际企业级动手操作中深入浅出并循序渐进的掌握Hadoop是本课程的核心.   云计算学习者的心声: 如何从企业级开发的角度,不断动手实际操作,循序渐进中掌握Hadoop,直到能够直接进行企业级开始,是困惑很多对云计算感兴趣的朋友的核心问题,本课程正是为解决此问题而生,学习者只需要按照一步步的跟着视频动手操作,即可完全无痛掌握Hadoo

Cannot obtain block length for LocatedBlock故障分析和解决

摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 这几天想cat一下某天的HDFS文件内容的时候突然报Cannot obtain block length for LocatedBlock异常,get也一样,这样无法访问hdfs文件的问题必须解决,Mark一下问题背景和解决过程 一.问题背景 问题产生的原因可能是由于前几日Hadoop集群维护的时候,基础运维组操作不当,先关闭的Hadoop集群,然后才关闭的Flume agent导致的

flume详细介绍,安装,配置

一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera.但随着 FLume 功能的扩展,Flume OG 代码工程臃肿.核心组件设计不合理.核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志传输不稳定的现象尤为严重,为了解决这些问题,2011 年 10 月 22 号,c