flume 往hdfs 里写失败不知为啥

发布于 2021-12-01 06:55:33 字数 2448 浏览 993 评论 7

2016-04-03 14:50:21,897 (hdfs-k1-call-runner-17) [ERROR - org.apache.flume.sink.hdfs.AbstractHDFSWriter.hflushOrSync(AbstractHDFSWriter.java:267)] Error while trying to hflushOrSync!
2016-04-03 14:50:22,240 (ResponseProcessor for block BP-379782447-10.215.1.51-1450951413112:blk_1074017796_277848) [WARN - org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer$ResponseProcessor.run(DFSOutputStream.java:871)] Slow ReadProcessor read fields took 59999ms (threshold=30000ms); ack: seqno: -2 status: SUCCESS status: SUCCESS status: ERROR downstreamAckTimeNanos: 0, targets: [10.215.1.53:50010, 10.215.1.54:50010, 10.215.1.52:50010]
2016-04-03 14:50:22,240 (ResponseProcessor for block BP-379782447-10.215.1.51-1450951413112:blk_1074017796_277848) [WARN - org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer$ResponseProcessor.run(DFSOutputStream.java:954)] DFSOutputStream ResponseProcessor exception  for block BP-379782447-10.215.1.51-1450951413112:blk_1074017796_277848
java.io.IOException: Bad response ERROR for block BP-379782447-10.215.1.51-1450951413112:blk_1074017796_277848 from datanode 10.215.1.52:50010
	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer$ResponseProcessor.run(DFSOutputStream.java:897)
2016-04-03 14:50:31,898 (SinkRunner-PollingRunner-DefaultSinkProcessor) [WARN - org.apache.flume.sink.hdfs.BucketWriter.close(BucketWriter.java:370)] failed to close() HDFSWriter for file (hdfs://10.215.1.51:8020/flume/amq/care/2016/04/03/event160403.1459666160825.log.tmp). Exception follows.
java.io.IOException: Callable timed out after 10000 ms on file: hdfs://10.215.1.51:8020/flume/amq/care/2016/04/03/event160403.1459666160825.log.tmp
	at org.apache.flume.sink.hdfs.BucketWriter.callWithTimeout(BucketWriter.java:693)
	at org.apache.flume.sink.hdfs.BucketWriter.close(BucketWriter.java:367)
	at org.apache.flume.sink.hdfs.BucketWriter.append(BucketWriter.java:559)
	at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:418)
	at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
	at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.TimeoutException
	at java.util.concurrent.FutureTask.get(FutureTask.java:205)
	at org.apache.flume.sink.hdfs.BucketWriter.callWithTimeout(BucketWriter.java:686)



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

不乱于心 2021-12-04 15:13:04

伪分布式下,我也遇到了这个错误,不过我最后发现是因为我在写上传地址的时候没指定端口号,我配置文件hdfs端口号是9000,我在flume的angent配置文件写了:hdfs://192.168.0140/flume/%Y%m%d   指定了端口号后就正常了

秉烛思 2021-12-04 14:37:49

走http

海之角 2021-12-04 11:54:33

回复
你看这样行吗,http也走的是tcp,我是这样写的 while(buffer.hasRemaining() && socketChannel.write(buffer) != -1){}

南冥有猫 2021-12-04 10:43:43

我不知道你是怎么样的场景?我的flume 和hdfs是在不同设备的。 dev-001(flume sink指定hdfs) ===》 dev-002(hdfs:8020)

如此安好 2021-12-04 09:15:05

请问写的时候是直接用socket写入吗

够钟 2021-12-04 08:32:40

谢谢 问题已确定。 是因为flume到hdfs 之间的网络问题导致的。

野心澎湃 2021-12-04 08:31:49

网HDFS上写文件响应的慢。你检查一下是你的datanode节点没启动或者网络问题

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文