当前位置: 首页 > 知识库问答 >
问题:

带有Flume的HDFS IO错误(hadoop 2.8)

欧阳博文
2023-03-14

当我尝试通过Flume将流数据输入hadoop时,我收到以下错误。

我已经在flume/lib中创建了指向< code >的链接。hadoop/share/hadoop/中的jar文件

我仔细检查了URL,我认为它们都是正确的。想发帖子来获得更多的关注和反馈。

      2017-07-20 10:53:18,959 (SinkRunner-PollingRunner-DefaultSinkProcessor) [WARN -org.apache.flume.sink.hdfs.HDFSEventSink.process HDFSEventSink.java:455)] HDFS IO error
      java.io.IOException: No FileSystem for scheme: hdfs
        at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2798)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2809)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:100)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2848)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2830)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:389)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:356)
        at org.apache.flume.sink.hdfs.BucketWriter$1.call(BucketWriter.java:243)
        at org.apache.flume.sink.hdfs.BucketWriter$1.call(BucketWriter.java:235)
        at org.apache.flume.sink.hdfs.BucketWriter$9$1.run(BucketWriter.java:679)
        at org.apache.flume.auth.SimpleAuthenticator.execute(SimpleAuthenticator.java:50)
        at org.apache.flume.sink.hdfs.BucketWriter$9.call(BucketWriter.java:676)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

这是水槽水槽配置

agent1.sinks.PurePathSink.type = hdfs
agent1.sinks.PurePathSink.hdfs.path = hdfs://127.0.0.1:9000/User/bts/pp 
agent1.sinks.PurePathSink.hdfs.fileType = DataStream
agent1.sinks.PurePathSink.hdfs.filePrefix = export
agent1.sinks.PurePathSink.hdfs.fileSuffix = .txt
agent1.sinks.PurePathSink.hdfs.rollInterval = 120
agent1.sinks.PurePathSink.hdfs.rollSize = 131072

核心网站. xml - Hadoop 2.8

<configuration>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home1/tmp</value>
        <description>A base for other temporary directories</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://127.0.0.1:9000</value>
    </property>

    <property>
        <name>fs.file.impl</name>
        <value>org.apache.hadoop.fs.LocalFileSystem</value>
        <description>The FileSystem for file: uris.</description>
    </property>

    <property>
        <name>fs.hdfs.impl</name>
        <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
        <description>The FileSystem for hdfs: uris.</description>
    </property>

共有3个答案

宗政德宇
2023-03-14

在我的例子中,将hdfs-jar文件从hadoop/hdfs复制到flume/lib解决了这个问题。

$ cp my_hadoop_path/share/hadoop/hdfs/*.jar my_flume_path/lib/
冯澄邈
2023-03-14

在我的例子中,我发现显式声明路径解决了这个问题。这与它捡到的是哪个罐子有关。

感谢@V.Bravo的回复。我没有使用发行版,而是建立了自己的集群

  • 摩西
牟波
2023-03-14

查看您的Flume Sink,似乎您不是在集群上运行这个,而是在本地主机上运行。

检查HDFS路径是否可访问:

agent1.sinks.PurePathSink.hdfs.path = hdfs://127.0.0.1:9000/User/bts/pp

端口号通常是8020(如果您使用的是Cloudera发行版)

请查看以下链接以了解错误复制和解决方案:[Cloudera Solved:FLUME IO error Problem]

https://community.cloudera.com/t5/Storage-Random-Access-HDFS/Flume-HDFS-IO-error-ConnectException/td-p/28157

 类似资料:
  • 我想在CDH-5.3.2版本中使用水槽从twitter获取数据。我已经配置了flume.conf、hbase接收器和twitter源代码。 但是,当我启动代理时,我收到以下错误: flume.conf和hbase接收器代码与此博客相同:http://ahikmat.blogspot.com/2014/08/streaming-twitter-tweets-to-hbase-with.html 而且

  • 有人能帮我做这个吗? 我不知道错误是什么,也不知道我应该如何修复它。任何帮助都很感激

  • 我在尝试获取json文件时出错。 Json: http://api.openweathermap.org/data/2.5/forecast/daily?q=94043 错误: 代码: json文件有问题,但我无法解决。谁能帮我? 谢谢!!

  • 我正在使用带有PRG模式的JSF。(在我的导航规则中使用)。 问题是,当我收到验证错误(例如:用户未设置强制值)时,重定向没有完成(即,一篇文章后面跟着同一页的get)。 情况是: > 用户没有输入强制值并提交表单 发生验证错误,同一视图显示错误消息(无PRG) 用户设置强制值并提交== 用户点击后退按钮= 谁能帮帮我吗? 提前感谢。 斯特凡

  • 我正在尝试将PSK与mbedtls库与SGX结合使用。没有PSK,连接工作正常。 以下是相关的客户端代码: 我有openssl测试服务器运行: 服务器接收连接并交换PSK消息,但是在解密点我收到以下错误: 我还尝试将更改为不同的密码,但仍然是相同的错误。当完全省略密码时,连接正常,但没有执行PSK!?

  • 在最近的一个项目中,我已经将一个java文件转换为kotlin文件,问题是我在下面的代码中遇到了一个错误: 原始java代码片段: