|
[
Permlink
| « Hide
]
Owen O'Malley added a comment - 13/Feb/08 10:18 PM
More precisely, what we need is the hftp file system to optionally go through ssl.
This can be triggered when an "hsftp:" uri is used.
The following would be required to implement this:
Does that sound right? While we really need secure distcp Right Now(tm), it would be good if in the future we could encrypt dfs put/get. I'm not so concerned about connectivity between grid nodes (at least right now).
I suspect this JIRA needs to get broken down into multiple subtasks. should it be "hftps:" rather than "hsftp:"?
> it would be good if in the future we could encrypt dfs put/get [ ... ]
Hftp: uris can be used most places that hdfs: uris can be used, including put/get. The big limitations at present are that hftp does not support:
Currently, to use an hftp filesystem as a mapreduce input, one would have to set mapred.min.split.size=0xffffffffffffffff, but, other than that, it should work. So I think making the hftp protocol secure will permit the uses you have in mind, no? > should it be "hftps:" rather than "hsftp:"?
Whatever. Both SFTP and FTPS refer to secure file-transfer protocols. The former does not require certs, while the latter (like HTTPS) does. So maybe FTPS is a better analogy, but HSFTP reads better to me, as the Hadoop Secure File Transfer Protocol. This roughly follows what Doug outlined above. I added a SunJsseListener to the namenode and datanode StatusHttpServer, initialized iff the keystore location is specified. The keystore properties- including passwords- are specified in another resource, specified in the config. I added HsftpFileSystem to handle the client-side and included a redirect to a ssl-capable datanode port from the NameNode servlet, assumed to be static (avoiding the protocol version bump).
2239-0.patch: Codes are good. It even make the origin codes better. Below are some comments
This patch adds some documentation, per Nicholas's recommendation. It does not include any test cases, as the requirements for configuring ssl are somewhat onerous and- in my limited experience- not amenable to automation in a test case. Lacking certs, it was tested with Firefox and appears correct. The passwords are stored in a config file, which is regrettable, but the resource storing them need only be on the classpath. Getting this information is out-of-band as it is, and an auxiliary config file seemed the most expedient and mostly-correct option available. For Right Now(tm), it should suffice.
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12376886/2239-1.patch against trunk revision 619744. @author +1. The patch does not contain any @author tags. tests included -1. The patch doesn't appear to include any new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac -1. The applied patch generated 616 javac compiler warnings (more than the trunk's current 614 warnings). release audit -1. The applied patch generated 191 release audit warnings (more than the trunk's current 190 warnings). findbugs +1. The patch does not introduce any new Findbugs warnings. core tests +1. The patch passed core unit tests. contrib tests +1. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/1881/testReport/ This message is automatically generated. We need to do the paper work part of putting encryption into Hadoop before this can be committed.
Replace deprecated SunJsseListener with SslListener
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12377862/2239-2.patch against trunk revision 619744. @author +1. The patch does not contain any @author tags. tests included -1. The patch doesn't appear to include any new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac +1. The applied patch does not generate any new javac compiler warnings. release audit -1. The applied patch generated 194 release audit warnings (more than the trunk's current 193 warnings). findbugs +1. The patch does not introduce any new Findbugs warnings. core tests +1. The patch passed core unit tests. contrib tests +1. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/1969/testReport/ This message is automatically generated. +1 Codes look good.
Other minor comments:
Integrated in Hadoop-trunk #433 (See http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/433/
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||