2017-07-20 14 views
0

Flumeからストリームデータを取得しようとすると、以下のエラーが表示されます。私はHadoopの/共有/ Hadoopの/Flumeを使用したHDFS IOエラー(hadoop 2.8)

.jarファイルにそのポイントlibに/水路内のリンクを作成した

私は二重の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 

コア-site.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> 

答えて

0

ase私はパスを明示的に宣言して問題を解決したことが分かりました。それは、それが拾っていたJarと関係がありました。

お返事ありがとうございます@ V.Bravo。私は、ディストリビューションを使用しますが、私自身

  • モーセ
+0

ねえ@moses私はあなたが正確に何をしたか理解していなかったのクラスタを立っておりません。私は同様の問題に遭遇していますが、やはり何をすべきか把握できません – Ali

0

は、あなたがこれを上の実行していないようですクラスターですが、ローカルホスト上にあります。

は、それがアクセス可能かどうか、HDFSパスを確認します。

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

ポート番号は、一般的に8020である(あなたはClouderaのディストリビューションを使用している場合)

を、エラーの複製やソリューションについては、下記リンクをご確認ください: [Clouderaの解決:水路+ IOのエラー問題]私のC言語で

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

関連する問題