1

Hadoopクラスターの外部でクラスターからデータを読み取ることができるプロジェクトを作成したいのですが、オフィスのWebサイトで提供されているドキュメントでは、「curl」方式しか提供されていません。JavaがHadoopクラスターにアクセスするためのインターフェースはありますか?

4

4 に答える 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 に答える