分享

Flume AvroRuntimeException问题,求救!

hasqjh7 发表于 2017-8-2 18:17:16 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 15 15792
使用spooldir配置,读取本地目录的文件,并使用avro sink 远程的机器,最近老是报错,异常信息如下 :01 Aug 2017 10:36:00,957 ERROR [pool-5-thread-1] (org.apache.flume.source.SpoolDirectorySource$SpoolDirectoryRunnable.run:262)  - FATAL: Spool Directory source spoolDir: { spoolDir: /home/ads/flume-data }: Uncaught exception in SpoolDirectorySource thread. Restart or reconfigure Flume to continue processing.org.apache.avro.AvroRuntimeException: java.io.IOException: Block size invalid or too large for this implementation: -24


求各位大神 解答,定谢!


已有(15)人评论

跳转到指定楼层
arsenduan 发表于 2017-8-2 19:01:50
如果英文不错的话,可以参考这个
https://stackoverflow.com/questions/36053306/cloudera-5-4-2-avro-block-size-is-invalid-or-too-large-when-using-flume-and-twi

可以尝试配置下属性
TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource


下载包
flume-sources-1.0-SNAPSHOT.jar
然后放到
/var/lib/flume-ng/plugins.d/twitter-streaming/lib/flume-sources-1.0-SNAPSHOT.jar

更详细查看上面链接
回复

使用道具 举报

yaojiank 发表于 2017-8-2 19:02:47
改下这个属性试试
agent.sinks.hdfs.serializer=Text
回复

使用道具 举报

hasqjh7 发表于 2017-8-3 10:03:50
本帖最后由 hasqjh7 于 2017-8-3 10:07 编辑
yaojiank 发表于 2017-8-2 19:02
改下这个属性试试
agent.sinks.hdfs.serializer=Text

这个 serializer是 Hdfs sink 的参数 不是 avro sink的

谢谢!
回复

使用道具 举报

hasqjh7 发表于 2017-8-3 10:05:14
arsenduan 发表于 2017-8-2 19:01
如果英文不错的话,可以参考这个
https://stackoverflow.com/questions/36053306/cloudera-5-4-2-avro-blo ...

我使用的是 flume-ng 1.6 source:spooldir sink: avrosink
你发的我也看到了,他的那个是Twitter的source ,还不是这个 avro sink。
谢谢!
回复

使用道具 举报

yuwenge 发表于 2017-8-3 12:36:26
flume是否还能传输数据,如果还能传输的话,应该没有问题。
这是因为flume没有待上传的文件,可能空跑导致的。
回复

使用道具 举报

hasqjh7 发表于 2017-8-3 14:53:27
yuwenge 发表于 2017-8-3 12:36
flume是否还能传输数据,如果还能传输的话,应该没有问题。
这是因为flume没有待上传的文件,可能空跑导致 ...

有数据的,不为空:Block size invalid or too large for this implementation: -105357068819464

回复

使用道具 举报

easthome001 发表于 2017-8-3 19:39:27
hasqjh7 发表于 2017-8-3 14:53
有数据的,不为空:Block size invalid or too large for this implementation: -105357068819464

Block size invalid or too large for this implementation: -24
Block size invalid or too large for this implementation: -105357068819464

上面数据为负,可能导致产生这个问题。
回复

使用道具 举报

hasqjh7 发表于 2017-8-4 09:51:44
easthome001 发表于 2017-8-3 19:39
Block size invalid or too large for this implementation: -24
Block size invalid or too large for  ...

flume spooldir source 读文件使用的是avro file 方式进行读取的,avro 在读取的时候,会hasNextBlock进行判断,当判断出所读取的block 的size值小于0 就会抛这个异常,问题是,什么情况下所读取的block size的大小 小于0?
回复

使用道具 举报

langke93 发表于 2017-8-4 15:50:47
hasqjh7 发表于 2017-8-4 09:51
flume spooldir source 读文件使用的是avro file 方式进行读取的,avro 在读取的时候,会hasNextBlock进 ...

当然是搞错的情况下了。
配置贴出来看下
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条