Merged r1240460 from trunk for HDFS-2785.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1240461 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b6bcde5ce9
commit
d511d704d2
|
@ -104,6 +104,9 @@ Release 0.23.1 - UNRELEASED
|
|||
HDFS-2784. Update hftp and hdfs for host-based token support.
|
||||
(Kihwal Lee via jitendra)
|
||||
|
||||
HDFS-2785. Update webhdfs and httpfs for host-based token support.
|
||||
(Robert Joseph Evans via jitendra)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HDFS-2130. Switch default checksum to CRC32C. (todd)
|
||||
|
|
|
@ -141,6 +141,7 @@ public class WebHdfsFileSystem extends FileSystem
|
|||
|
||||
private final UserGroupInformation ugi;
|
||||
private InetSocketAddress nnAddr;
|
||||
private URI uri;
|
||||
private Token<?> delegationToken;
|
||||
private final AuthenticatedURL.Token authToken = new AuthenticatedURL.Token();
|
||||
private Path workingDir;
|
||||
|
@ -158,7 +159,11 @@ public class WebHdfsFileSystem extends FileSystem
|
|||
) throws IOException {
|
||||
super.initialize(uri, conf);
|
||||
setConf(conf);
|
||||
|
||||
try {
|
||||
this.uri = new URI(uri.getScheme(), uri.getAuthority(), null, null, null);
|
||||
} catch (URISyntaxException e) {
|
||||
throw new IllegalArgumentException(e);
|
||||
}
|
||||
this.nnAddr = NetUtils.createSocketAddr(uri.toString());
|
||||
this.workingDir = getHomeDirectory();
|
||||
|
||||
|
@ -203,12 +208,7 @@ public class WebHdfsFileSystem extends FileSystem
|
|||
|
||||
@Override
|
||||
public URI getUri() {
|
||||
try {
|
||||
return new URI(SCHEME, null, nnAddr.getHostName(), nnAddr.getPort(),
|
||||
null, null, null);
|
||||
} catch (URISyntaxException e) {
|
||||
return null;
|
||||
}
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
/** @return the home directory. */
|
||||
|
@ -810,8 +810,7 @@ public class WebHdfsFileSystem extends FileSystem
|
|||
final Token<?> token, final Configuration conf
|
||||
) throws IOException, InterruptedException, URISyntaxException {
|
||||
|
||||
final InetSocketAddress nnAddr = NetUtils.createSocketAddr(
|
||||
token.getService().toString());
|
||||
final InetSocketAddress nnAddr = SecurityUtil.getTokenServiceAddr(token);
|
||||
final URI uri = DFSUtil.createUri(WebHdfsFileSystem.SCHEME, nnAddr);
|
||||
return (WebHdfsFileSystem)FileSystem.get(uri, conf);
|
||||
}
|
||||
|
@ -821,7 +820,7 @@ public class WebHdfsFileSystem extends FileSystem
|
|||
) throws IOException, InterruptedException {
|
||||
final UserGroupInformation ugi = UserGroupInformation.getLoginUser();
|
||||
// update the kerberos credentials, if they are coming from a keytab
|
||||
ugi.checkTGTAndReloginFromKeytab();
|
||||
ugi.reloginFromKeytab();
|
||||
|
||||
try {
|
||||
WebHdfsFileSystem webhdfs = getWebHdfs(token, conf);
|
||||
|
|
Loading…
Reference in New Issue