当前位置: 首页>>代码示例>>Java>>正文


Java GetDelegationTokenServlet类代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet的典型用法代码示例。如果您正苦于以下问题:Java GetDelegationTokenServlet类的具体用法?Java GetDelegationTokenServlet怎么用?Java GetDelegationTokenServlet使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


GetDelegationTokenServlet类属于org.apache.hadoop.hdfs.server.namenode包,在下文中一共展示了GetDelegationTokenServlet类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getDTfromRemote

import org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet; //导入依赖的package包/类
static public Credentials getDTfromRemote(String nnAddr, 
    String renewer) throws IOException {
  DataInputStream dis = null;
  InetSocketAddress serviceAddr = NetUtils.createSocketAddr(nnAddr);
  
  try {
    StringBuffer url = new StringBuffer();
    if (renewer != null) {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC)
         .append("?").append(GetDelegationTokenServlet.RENEWER).append("=")
         .append(renewer);
    } else {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC);
    }
    URL remoteURL = new URL(url.toString());
    URLConnection connection = SecurityUtil.openSecureHttpConnection(remoteURL);
    InputStream in = connection.getInputStream();
    Credentials ts = new Credentials();
    dis = new DataInputStream(in);
    ts.readFields(dis);
    for(Token<?> token: ts.getAllTokens()) {
      token.setKind(HftpFileSystem.TOKEN_KIND);
      SecurityUtil.setTokenService(token, serviceAddr);
    }
    return ts;
  } catch (Exception e) {
    throw new IOException("Unable to obtain remote token", e);
  } finally {
    if(dis != null) dis.close();
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:32,代码来源:DelegationTokenFetcher.java

示例2: getDTfromRemote

import org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet; //导入依赖的package包/类
static public Credentials getDTfromRemote(String nnAddr, String renewer)
    throws IOException {
  DataInputStream dis = null;
  InetSocketAddress serviceAddr = NetUtils.createSocketAddr(nnAddr);
  
  try {
    StringBuffer url = new StringBuffer();
    if (renewer != null) {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC)
          .append("?").append(GetDelegationTokenServlet.RENEWER).append("=")
          .append(renewer);
    } else {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC);
    }
    URL remoteURL = new URL(url.toString());
    URLConnection connection =
        SecurityUtil2.openSecureHttpConnection(remoteURL);
    InputStream in = connection.getInputStream();
    Credentials ts = new Credentials();
    dis = new DataInputStream(in);
    ts.readFields(dis);
    for (Token<?> token : ts.getAllTokens()) {
      token.setKind(HftpFileSystem.TOKEN_KIND);
      SecurityUtil2.setTokenService(token, serviceAddr);
    }
    return ts;
  } catch (Exception e) {
    throw new IOException("Unable to obtain remote token", e);
  } finally {
    if (dis != null) {
      dis.close();
    }
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:35,代码来源:DelegationTokenFetcher.java

示例3: getDTfromRemote

import org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet; //导入依赖的package包/类
static public Credentials getDTfromRemote(String nnAddr, 
    String renewer) throws IOException {
  DataInputStream dis = null;

  try {
    StringBuffer url = new StringBuffer();
    if (renewer != null) {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC).append("?").
      append(GetDelegationTokenServlet.RENEWER).append("=").append(renewer);
    } else {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC);
    }
    URL remoteURL = new URL(url.toString());
    SecurityUtil.fetchServiceTicket(remoteURL);
    URLConnection connection = remoteURL.openConnection();

    InputStream in = connection.getInputStream();
    Credentials ts = new Credentials();
    dis = new DataInputStream(in);
    ts.readFields(dis);
    return ts;
  } catch (Exception e) {
    throw new IOException("Unable to obtain remote token", e);
  } finally {
    if(dis != null) dis.close();
  }
}
 
开发者ID:cumulusyebl,项目名称:cumulus,代码行数:28,代码来源:DelegationTokenFetcher.java

示例4: getDTfromRemote

import org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet; //导入依赖的package包/类
static public Credentials getDTfromRemote(URLConnectionFactory factory,
    URI nnUri, String renewer, String proxyUser) throws IOException {
  StringBuilder buf = new StringBuilder(nnUri.toString())
      .append(GetDelegationTokenServlet.PATH_SPEC);
  String separator = "?";
  if (renewer != null) {
    buf.append("?").append(GetDelegationTokenServlet.RENEWER).append("=")
        .append(renewer);
    separator = "&";
  }
  if (proxyUser != null) {
    buf.append(separator).append("doas=").append(proxyUser);
  }

  boolean isHttps = nnUri.getScheme().equals("https");

  HttpURLConnection conn = null;
  DataInputStream dis = null;
  InetSocketAddress serviceAddr = NetUtils.createSocketAddr(nnUri
      .getAuthority());

  try {
    if(LOG.isDebugEnabled()) {
      LOG.debug("Retrieving token from: " + buf);
    }

    conn = run(factory, new URL(buf.toString()));
    InputStream in = conn.getInputStream();
    Credentials ts = new Credentials();
    dis = new DataInputStream(in);
    ts.readFields(dis);
    for (Token<?> token : ts.getAllTokens()) {
      token.setKind(isHttps ? HsftpFileSystem.TOKEN_KIND : HftpFileSystem.TOKEN_KIND);
      SecurityUtil.setTokenService(token, serviceAddr);
    }
    return ts;
  } catch (Exception e) {
    throw new IOException("Unable to obtain remote token", e);
  } finally {
    IOUtils.cleanup(LOG, dis);
    if (conn != null) {
      conn.disconnect();
    }
  }
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:46,代码来源:DelegationTokenFetcher.java

示例5: getDTfromRemote

import org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet; //导入依赖的package包/类
/**
 * Utility method to obtain a delegation token over http
 * @param nnAddr Namenode http addr, such as http://namenode:50070
 * @param renewer User that is renewing the ticket in such a request
 */
static public Credentials getDTfromRemote(String nnAddr, 
                                          String renewer) throws IOException {
  DataInputStream dis = null;
  InetSocketAddress serviceAddr = NetUtils.createSocketAddr(nnAddr);

  try {
    StringBuffer url = new StringBuffer();
    if (renewer != null) {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC).append("?").
      append(GetDelegationTokenServlet.RENEWER).append("=").append(renewer);
    } else {
      url.append(nnAddr).append(GetDelegationTokenServlet.PATH_SPEC);
    }
    if(LOG.isDebugEnabled()) {
      LOG.debug("Retrieving token from: " + url);
    }
    URL remoteURL = new URL(url.toString());
    boolean isSecure = "https".equals(remoteURL.getProtocol().toLowerCase());
    URLConnection connection = 
     SecurityUtil.openSecureHttpConnection(remoteURL);

    InputStream in = connection.getInputStream();
    Credentials ts = new Credentials();
    dis = new DataInputStream(in);
    ts.readFields(dis);
    for(Token<?> token: ts.getAllTokens()) {
      if (isSecure) {
        token.setKind(HsftpFileSystem.TOKEN_KIND);
      } else {
        token.setKind(HftpFileSystem.TOKEN_KIND);
      }
      SecurityUtil.setTokenService(token, serviceAddr);
    }
    return ts;
  } catch (Exception e) {
    throw new IOException("Unable to obtain remote token", e);
  } finally {
    if(dis != null) dis.close();
  }
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre,代码行数:46,代码来源:DelegationTokenFetcher.java


注:本文中的org.apache.hadoop.hdfs.server.namenode.GetDelegationTokenServlet类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。