前期博客

Flume自定义拦截器(Interceptors)或自带拦截器时的一些经验技巧总结(图文详解)

  问题详情

  1. -- ::, (agent-shutdown-hook) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.stop(MonitoredCounterGroup.java:)] Shutdown Metric for type: SOURCE, name: fileSource. src.events.accepted ==
  2. -- ::, (agent-shutdown-hook) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.stop(MonitoredCounterGroup.java:)] Shutdown Metric for type: SOURCE, name: fileSource. src.events.received ==
  3. -- ::, (agent-shutdown-hook) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.stop(MonitoredCounterGroup.java:)] Shutdown Metric for type: SOURCE, name: fileSource. src.open-connection.count ==
  4. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [ERROR - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:)] process failed
  5. java.lang.InterruptedException: Timed out before HDFS call was made. Your hdfs.callTimeout might be set too low or HDFS calls are taking too long.
  6. at org.apache.flume.sink.hdfs.BucketWriter.checkAndThrowInterruptedException(BucketWriter.java:)
  7. at org.apache.flume.sink.hdfs.BucketWriter.flush(BucketWriter.java:)
  8. at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:)
  9. at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:)
  10. at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:)
  11. at java.lang.Thread.run(Thread.java:)
  12. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:)] Unable to deliver event. Exception follows.
  13. org.apache.flume.EventDeliveryException: java.lang.InterruptedException: Timed out before HDFS call was made. Your hdfs.callTimeout might be set too low or HDFS calls are taking too long.
  14. at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:)
  15. at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:)
  16. at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:)
  17. at java.lang.Thread.run(Thread.java:)
  18. Caused by: java.lang.InterruptedException: Timed out before HDFS call was made. Your hdfs.callTimeout might be set too low or HDFS calls are taking too long.
  19. at org.apache.flume.sink.hdfs.BucketWriter.checkAndThrowInterruptedException(BucketWriter.java:)
  20. at org.apache.flume.sink.hdfs.BucketWriter.flush(BucketWriter.java:)
  21. at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:)
  22. ... more

  这句话,说的很明显。

  你的hdfs.calltimeout可能设置得太低或HDFS需要花费太长的时间。

  我的是

  1. #---------hdfsSink 相关配置------------------
  2. agent1.sinks.hdfsSink.type = hdfs
  3. # 注意, 我们输出到下面一个子文件夹datax中
  4. agent1.sinks.hdfsSink.hdfs.path = hdfs://master:9000/data/types/%Y%m%d/%{log_type}
  5. agent1.sinks.hdfsSink.hdfs.writeFormat = Text
  6. agent1.sinks.hdfsSink.hdfs.fileType = DataStream
  7. agent1.sinks.hdfsSink.hdfs.callTimeout =
  8. agent1.sinks.hdfsSink.hdfs.useLocalTimeStamp = true
  9.  
  10. #当文件大小为52428800字节时,将临时文件滚动成一个目标文件
  11. agent1.sinks.hdfsSink.hdfs.rollSize =
  12. #events数据达到该数量的时候,将临时文件滚动成目标文件
  13. agent1.sinks.hdfsSink.hdfs.rollCount =
  14. #每隔N s将临时文件滚动成一个目标文件
  15. agent1.sinks.hdfsSink.hdfs.rollInterval =
  16.  
  17. #配置前缀和后缀
  18. agent1.sinks.hdfsSink.hdfs.filePrefix=run

  这个大家,可以还改大些。

  1. agent1.sinks.hdfsSink.hdfs.callTimeout =

hdfs.sinks.fs.hdfs.rollInterval=21600
hdfs.sinks.fs.hdfs.rollSize=8589934592
为何这两个设置这么大。超时出现问题正常的设置小一点,根据情况自己调试下。
建议初始值:
hdfs.sinks.fs.hdfs.rollInterval=10
hdfs.sinks.fs.hdfs.rollSize=0
依次:
20
40
80
200
等值。

Flume启动时报错Caused by: java.lang.InterruptedException: Timed out before HDFS call was made. Your hdfs.callTimeout might be set too low or HDFS calls are taking too long.解决办法(图文详解)的更多相关文章

  1. 【spring boot】【elasticsearch】spring boot整合elasticsearch,启动报错Caused by: java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8

    spring boot整合elasticsearch, 启动报错: Caused by: java.lang.IllegalStateException: availableProcessors ], ...

  2. kettle添加hadoop cluster时报错Caused by: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: hadoop:password@node56:9000

    完整报错是: Caused by: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: ...

  3. 【spring cloud】spring cloud 使用feign调用,1.fallback熔断器不起作用,2.启动报错Caused by: java.lang.ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.Hystri解决

    示例GitHub源码地址:https://github.com/AngelSXD/springcloud 1.首先使用feign调用,需要配置熔断器 2.配置熔断器需要将熔断器注入Bean,熔断器类上 ...

  4. 整合spring boot时操作数据库时报错Caused by: java.lang.InstantiationException: tk.mybatis.mapper.provider.base.B

    原文:https://blog.csdn.net/u__f_o/article/details/82756701 一般出现这种情况,应该是没有扫描到对应的mapper包,即在启动类下配置MapperS ...

  5. springcloud中config启动时候报错Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'config.info' in value "${config.info}"

    -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jm ...

  6. SpringBoot启动报:Caused by: java.lang.IllegalArgumentException: At least one JPA metamodel must be present!

    使用spring boot对项目改造,启动报错: Caused by: java.lang.IllegalArgumentException: At least one JPA metamodel m ...

  7. Feign调用远程服务报错:Caused by: java.lang.IllegalStateException: Method getMemberInfo not annotated with HTTP method type (ex. GET, POST)

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ord ...

  8. javafx:JavaFX Scene Builder 2.0打开含有第三方jar包的fxml文件报错 Caused by: java.lang.ClassNotFoundException

    报错如下: java.io.IOException: javafx.fxml.LoadException: /C:/User.................test.fxml at com.orac ...

  9. 【原创】大叔问题定位分享(8)提交spark任务报错 Caused by: java.lang.ClassNotFoundException: org.I0Itec.zkclient.exception.ZkNoNodeException

    spark 2.1.1 一 问题重现 spark-submit --master local[*] --class app.package.AppClass --jars /jarpath/zkcli ...

随机推荐

  1. [摘]Android逆向分析常用网站

    androidterm:   Android Terminal Emulator   http://code.google.com/p/androidterm/   droidbox:   Andro ...

  2. [Apache]如何查看apache服务器的error log(错误日志)

    在进行网页和服务器的测试时, 有时会提醒 500 Internal Server Error: The server encountered an internal error or misconfi ...

  3. CentOS6.5安装完没有网络的解决办法

    昨天下了个CentOS 6.5 Minimal 版,在VMware 10下安装好了之后,发现上不了网,PING外网也PING不通. 在网上搜了一下,发现Linux安装好了之后,网卡默认是没有启动的,下 ...

  4. 万恶的mysql deadlocks

    https://github.com/aneasystone/mysql-deadlocks/blob/master/11.md https://blog.csdn.net/dhfzhishi/art ...

  5. python dict.fromkeys()研究

    def unique(seq): #return [x for x in my_list if x not in locals()['_[1]']] return {}.fromkeys(seq).k ...

  6. C++知识点总结(6)

    1.double和float的存储方式 float遵从的是IEEE R32.24 ,而double 遵从的是R64.53.无论是单精度还是双精度在存储中都分为三个部分: 符号位(Sign) : 0代表 ...

  7. 复选框操作checked选中为true,反之为False,也可以赋值为true,false

  8. Lucene打分公式的数学推导

    原文出自:http://www.cnblogs.com/forfuture1978/archive/2010/03/07/1680007.html 在进行Lucene的搜索过程解析之前,有必要单独的一 ...

  9. css 层叠式样式表(1)

    实用css有三种格式:内嵌:内联:外部: 分类:内联:写在标记的属性位置,优先级最高,重用性最差内嵌:写在页面的head中,优先级第二,重用性一般外部:写在一个以css结尾的文件中,通过引用来建立文件 ...

  10. (转)typedef和#define的用法与区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...