[
https://issues.apache.org/jira/browse/HDFS-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13133015#comment-13133015
]
Sanjay Radia commented on HDFS-2178:
------------------------------------
Good example that forced me to really think about compatibility between webhdfs
and proxy.
* I assume that the goal is : a customer writes an application that uses our
rest APIs to read and write files AND that the application works in a
transparent fashion for BOTH proxy or webhdfs. Do you agree with this?
* 100-continue is a very good solution against the Http 1.1 spec in that the
API works optimally with webhdfs and proxy: it allows the proxy to NOT redirect
and the NN to redirect. Unfortunately it is not well supported by Jetty 6 (it
is supported by Jetty 7, curl and httpclient).
* Arpit's Put solution:
** Works really well with webhdfs with the limitation in jetty 6 and also in
the future when jetty supports 100 continue correctly.
** However for proxy, the proxy ends up creating the file 2 times (The proxy
should not redirect. Hence it is not an infinite loop.)
* The getHandle solution has the unfortunate impact on the proxy that it always
forces 2 operations when 1 operation would have been enough. It is also a
solution that we will deprecate when jetty supports 100-continue.
> Contributing Hoop to HDFS, replacement for HDFS proxy with read/write
> capabilities
> ----------------------------------------------------------------------------------
>
> Key: HDFS-2178
> URL: https://issues.apache.org/jira/browse/HDFS-2178
> Project: Hadoop HDFS
> Issue Type: Improvement
> Affects Versions: 0.23.0
> Reporter: Alejandro Abdelnur
> Assignee: Alejandro Abdelnur
> Fix For: 0.23.0
>
> Attachments: HDFS-2178.patch, HDFSoverHTTP-API.html, HdfsHttpAPI.pdf
>
>
> We'd like to contribute Hoop to Hadoop HDFS as a replacement (an improvement)
> for HDFS Proxy.
> Hoop provides access to all Hadoop Distributed File System (HDFS) operations
> (read and write) over HTTP/S.
> The Hoop server component is a REST HTTP gateway to HDFS supporting all file
> system operations. It can be accessed using standard HTTP tools (i.e. curl
> and wget), HTTP libraries from different programing languages (i.e. Perl,
> Java Script) as well as using the Hoop client. The Hoop server component is a
> standard Java web-application and it has been implemented using Jersey
> (JAX-RS).
> The Hoop client component is an implementation of Hadoop FileSystem client
> that allows using the familiar Hadoop filesystem API to access HDFS data
> through a Hoop server.
> Repo: https://github.com/cloudera/hoop
> Docs: http://cloudera.github.com/hoop
> Blog: http://www.cloudera.com/blog/2011/07/hoop-hadoop-hdfs-over-http/
> Hoop is a Maven based project that depends on Hadoop HDFS and Alfredo (for
> Kerberos HTTP SPNEGO authentication).
> To make the integration easy, HDFS Mavenization (HDFS-2096) would have to be
> done first, as well as the Alfredo contribution (HADOOP-7119).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira