我想在hadoop集群之外写一个项目,可以从集群中读取数据,但是office网站提供的文档只给出了“curl”的方法。Java有没有接口可以访问hadoop集群?
问问题
3268 次
4 回答
4
如果您使用的是 1.0.0+ 版本的 hadoop,请查看该org.apache.hadoop.hdfs.web.WebHdfsFileSystem
课程。
如果它尚未启用,您应该能够通过在 hdfs-core.xml 中设置以下配置属性来“启用”它:
dfs.webhdfs.enabled
=true
进行此更改后,您需要重新启动名称节点,您应该在名称节点日志文件中看到以下内容:
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
现在您可以使用以下内容以编程方式使用 Web Hdfs:
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(new URI(), conf);
于 2012-05-30T00:55:45.940 回答
0
看看 cloudera 的 HOOP...提供对所有 HDFS 操作的访问,包括通过 HTTP 和 HTTPS 进行读/写。
于 2012-05-27T20:48:03.987 回答
0
是的。有 Web 界面可以与 Job tracker 节点进行通信,以了解作业的状态和所有客户端信息
于 2012-05-29T07:04:08.523 回答
0
可以使用以下 Java 库:
于 2016-01-08T12:33:17.787 回答