2011-10-17 16 views
0

私はHadoopの初心者です。私は日食の私のJavaコードから私のHDFSシステムのファイルにアクセスすることに問題に直面している。私のfs.default.nameはcore-site.xmlのhdfs:// localhost:portnoに設定されていますが、hdfsではなくfile://というURIを与えてくれます。//入力パスの設定次のようになります。 FileInputFormat.setInputPaths(conf、new Path( "hdfs:// localhost:9021/user/training/shakespeare/poems"));eclipseからHDFSファイルにアクセスする

ですが、タイムアウトエラーが発生します。11/10/17 15:31:31 INFO ipc.Client:サーバーへの接続再試行:localhost/127.0.0.1:9021。既に0回試しました。

私はこの問題を解決する方法を教えてください。私はひどくこの問題を抱えています。どんな助けでも本当に感謝しています。あなたはEclipseのからプログラムを実行しながら、core-site.xmlhdfs-site.xmlmapred-site.xmlを含む{$HADOOP_HOME}/confフォルダは、Java CLASSPATHであることを確認する必要があり

おかげ

+0

コマンドラインから接続しようとしましたか?私。 telnet 127.0.0.1:9021まだconfectionが拒否された場合、問題はローカルファイアウォールにある可能性が最も高いです。 –

答えて

3

このフォルダをCLASSPATHに追加するには、フォルダ - >プロパティ - > Javaビルドパス - >外部クラスフォルダの追加を右クリックします。

1

あなたは* -site.xmlファイルを指定しない場合、あなたは、単にコードに直接Hadoopのクライアントを設定できます。

Configuration conf = new Configuration(); 
conf.set("fs.defaultFS","hdfs://namenode:8020"); 
FileSystem fs = FileSystem.get(conf); 

プロジェクトでMavenを使用する場合は、あなたが追加することができますあなたがclouderaディストリビューションを選択していると仮定して、以下の方法でpom.xmlにhadoopクライアントを追加してください:

<repositories> 
    <repository> 
     <id>cloudera</id> 
     <url>https://repository.cloudera.com/content/repositories/releases/</url> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-client</artifactId> 
     <version>2.6.0-cdh5.5.0</version> 
    </dependency> 
</dependencies> 
関連する問題