gpt4 book ai didi

hadoop - 水槽和远程 hdfs 接收器出错

转载 作者:可可西里 更新时间:2023-11-01 14:50:22 26 4
gpt4 key购买 nike

我正在尝试使用 hdfs 接收器运行水槽。 hdfs 在不同的机器上正常运行,我什至可以与 flume 机器上的 hdfs 交互,但是当我运行 flume 并向它发送事件时,我收到以下错误:

2013-05-26 14:22:11,399 (SinkRunner-PollingRunner-DefaultSinkProcessor) [WARN - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:456)] HDFS IO error
java.io.IOException: Callable timed out after 25000 ms
at org.apache.flume.sink.hdfs.HDFSEventSink.callWithTimeout(HDFSEventSink.java:352)
at org.apache.flume.sink.hdfs.HDFSEventSink.append(HDFSEventSink.java:727)
at org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:430)
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:679)
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:258)
at java.util.concurrent.FutureTask.get(FutureTask.java:119)
at org.apache.flume.sink.hdfs.HDFSEventSink.callWithTimeout(HDFSEventSink.java:345)
... 5 more

同样,连接性不是问题,因为我可以使用 hadoop 命令行与 hdfs 交互(水槽机器不是数据节点)。最奇怪的部分是,在关闭 flume 之后,我可以看到 tmp 文件是在 hdfs 中创建的,但它是空的(并且 .tmp 扩展名仍然存在)。

关于为什么会发生这种情况的任何想法?非常感谢!

最佳答案

检查三件事,如果你的防火墙是关闭的,即 iptables 应该被停止。其次,属性值 agent.sinks.hdfs-sink.hdfs.path = hdfs://PUBLIC_IP:8020/user/hdfs/flume 而不是私有(private) IP。并改变agent.sinks.hdfs-sink.hdfs.callTimeout = 180000 因为默认值为 10000 毫秒,这对于 HDFS 的 react 时间非常短。

谢谢,希尔帕

关于hadoop - 水槽和远程 hdfs 接收器出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com