[
https://issues.apache.org/jira/browse/HDFS-7488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240572#comment-14240572
]
Colin Patrick McCabe commented on HDFS-7488:
--------------------------------------------
Yeah, webDAV is a nice solution for Windows. It is document-oriented, meaning
you can replace an entire file, but not write a range of bytes. This fits in
very well with HDFS semantics. webDAV is integrated with the windows graphical
shell (although I think how closely integrated depends on the version of
Windows.)
It used to be that Windows users avoided NFS because there was no built-in NFS
client. Now that that has changed, I'm curious what the experience of using
NFS on Windows is like. Maybe some people can comment here with more
information.
> HDFS Windows CIFS Gateway
> -------------------------
>
> Key: HDFS-7488
> URL: https://issues.apache.org/jira/browse/HDFS-7488
> Project: Hadoop HDFS
> Issue Type: New Feature
> Affects Versions: 2.4.0
> Environment: HDP 2.1
> Reporter: Hari Sekhon
>
> Stakeholders are pressuring for native Windows file share access to our
> Hadoop clusters.
> I've used NFS gateway several times and while it's theoretically viable for
> users now UID mapping is implemented in 2.5... insecure NFS makes our fully
> Kerberized clusters security pointless.
> We really need CIFS gateway access to enforce authentication which NFSv3
> doesn't (NFSv4?).
> I've even tried Samba over NFS gateway loopback mount point (don't laugh -
> they want it that badly), and enabled hdfs atime precision to an hour to
> prevent FSNamesystem.setTimes() java exceptions in gw logs, but the NFS
> server still doesn't like the Windows CIFS client actions:
> {code}2014-12-08 16:31:38,053 ERROR nfs3.RpcProgramNfs3
> (RpcProgramNfs3.java:setattr(346)) - Setting file size is not supported when
> setattr, fileId: 25597
> 2014-12-08 16:31:38,065 INFO nfs3.WriteManager
> (WriteManager.java:handleWrite(136)) - No opened stream for fileId:25597
> 2014-12-08 16:31:38,122 INFO nfs3.OpenFileCtx
> (OpenFileCtx.java:receivedNewWriteInternal(624)) - Have to change stable
> write to unstable write:FILE_SYNC
> {code}
> A debug of the Samba server shows it's trying to set metadata timestamps
> which hangs indefinitely, resulting in the creation of a zero byte file when
> trying to copy a file in to HDFS /tmp via the Windows mapped drive.
> {code}
> ...
> smb_set_file_time: setting utimes to modified values.
> file_ntime: actime: Thu Jan 1 01:00:00 1970
> file_ntime: modtime: Mon Dec 8 16:31:38 2014
> file_ntime: ctime: Thu Jan 1 01:00:00 1970
> file_ntime: createtime: Thu Jan 1 01:00:00 1970
> {code}
> This is the traceback from NFS gw log when hdfs precision was set to 0:
> {code}org.apache.hadoop.ipc.RemoteException(java.io.IOException): Access time
> for hdfs is not configured. Please set dfs.namenode.accesstime.precision
> configuration parameter.
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setTimes(FSNamesystem.java:1960)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setTimes(NameNodeRpcServer.java:950)
> at
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setTimes(ClientNamenodeProtocolServerSideTranslatorPB.java:833)
> at
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007)
> ...
> {code}
> Regards,
> Hari Sekhon
> http://www.linkedin.com/in/harisekhon
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)