Hadoopクラスターの外部でクラスターからデータを読み取ることができるプロジェクトを作成したいのですが、オフィスのWebサイトで提供されているドキュメントでは、「curl」方式しか提供されていません。JavaがHadoopクラスターにアクセスするためのインターフェースはありますか?
3268 次
4 に答える
4
1.0.0以降のバージョンのhadoopを使用している場合は、org.apache.hadoop.hdfs.web.WebHdfsFileSystem
クラスを調べてください。
まだ有効になっていない場合は、hdfs-core.xmlで次の構成プロパティを設定することで「有効」にできるはずです。
dfs.webhdfs.enabled
=true
この変更を行った後、NameNodeを再起動する必要があります。namenodeログファイルに次のように表示されます。
2012-05-22 06:23:42,176 INFO org.apache.hadoop.http.HttpServer: dfs.webhdfs.enabled = true 2012-05-22 06:23:42,177 INFO org.apache.hadoop.http.HttpServer: Added filter 'SPNEGO' (class=org.apache.hadoop.hdfs.web.AuthFilter) 2012-05-22 06:23:42,179 INFO org.apache.hadoop.http.HttpServer: addJerseyResourcePackage: packageName=org.apache.hadoop.hdfs.server.namenode.web.resources;org.apache.hadoop.hdfs.web.resources, pathSpec=/webhdfs/v1/* 2012-05-22 06:23:42,191 INFO org.apache.hadoop.http.HttpServer: Port returned by webServer.getConnectors()[0].getLocalPort() before open() is -1. Opening the listener on 50070 2012-05-22 06:23:42,192 INFO org.apache.hadoop.http.HttpServer: listener.getLocalPort() returned 50070 webServer.getConnectors()[0].getLocalPort() returned 50070 2012-05-22 06:23:42,192 INFO org.apache.hadoop.http.HttpServer: Jetty bound to port 50070
これで、以下を使用してWebHdfをプログラムで使用できます。
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(new URI(), conf);
于 2012-05-30T00:55:45.940 に答える
0
clouderaのHOOPをご覧ください...HTTPおよびHTTPSを介した読み取り/書き込みを含むすべてのHDFS操作へのアクセスを提供します。
于 2012-05-27T20:48:03.987 に答える
0
はい。ジョブのステータスとすべてのクライアント側の情報を知るために、ジョブトラッカーノードと通信するためのWebインターフェイスがあります。
于 2012-05-29T07:04:08.523 に答える
0
次のJavaライブラリを使用できます。
于 2016-01-08T12:33:17.787 に答える