當前位置: 首頁>>代碼示例>>Java>>正文


Java DeletionAsUserContext.getSubDir方法代碼示例

本文整理匯總了Java中org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext.getSubDir方法的典型用法代碼示例。如果您正苦於以下問題:Java DeletionAsUserContext.getSubDir方法的具體用法?Java DeletionAsUserContext.getSubDir怎麽用?Java DeletionAsUserContext.getSubDir使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext的用法示例。


在下文中一共展示了DeletionAsUserContext.getSubDir方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx)
  throws IOException, InterruptedException {
  Path subDir = ctx.getSubDir();
  List<Path> baseDirs = ctx.getBasedirs();

  if (baseDirs == null || baseDirs.size() == 0) {
    LOG.info("Deleting absolute path : " + subDir);
    if (!lfs.delete(subDir, true)) {
      //Maybe retry
      LOG.warn("delete returned false for path: [" + subDir + "]");
    }
    return;
  }
  for (Path baseDir : baseDirs) {
    Path del = subDir == null ? baseDir : new Path(baseDir, subDir);
    LOG.info("Deleting path : " + del);
    if (!lfs.delete(del, true)) {
      LOG.warn("delete returned false for path: [" + del + "]");
    }
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:23,代碼來源:DockerContainerExecutor.java

示例2: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx)
    throws IOException, InterruptedException {
  Path subDir = ctx.getSubDir();
  List<Path> baseDirs = ctx.getBasedirs();

  if (baseDirs == null || baseDirs.size() == 0) {
    LOG.info("Deleting absolute path : " + subDir);
    if (!lfs.delete(subDir, true)) {
      //Maybe retry
      LOG.warn("delete returned false for path: [" + subDir + "]");
    }
    return;
  }
  for (Path baseDir : baseDirs) {
    Path del = subDir == null ? baseDir : new Path(baseDir, subDir);
    LOG.info("Deleting path : " + del);
    if (!lfs.delete(del, true)) {
      LOG.warn("delete returned false for path: [" + del + "]");
    }
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:23,代碼來源:DefaultContainerExecutor.java

示例3: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx)
    throws IOException, InterruptedException {
  String user = ctx.getUser();
  Path subDir = ctx.getSubDir();
  List<Path> basedirs = ctx.getBasedirs();

  if ((Long.parseLong(subDir.getName()) % 2) == 0) {
    assertNull(user);
  } else {
    assertEquals("dingo", user);
  }

  DeletionAsUserContext.Builder builder = new DeletionAsUserContext
      .Builder()
      .setUser(user)
      .setSubDir(subDir);

  if (basedirs != null) {
    builder.setBasedirs(basedirs.toArray(new Path[basedirs.size()]));
  }

  super.deleteAsUser(builder.build());
  assertFalse(lfs.util().exists(subDir));
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:26,代碼來源:TestDeletionService.java

示例4: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx)
  throws IOException, InterruptedException {
  Path subDir = ctx.getSubDir();
  List<Path> baseDirs = ctx.getBasedirs();

  if (baseDirs == null || baseDirs.size() == 0) {
    LOG.info("Deleting absolute path : " + subDir);
    if (!lfs.delete(subDir, true)) {
      //Maybe retry
      LOG.warn("delete returned false for path: [" + subDir + "]");
    }
    return;
  }
  for (Path baseDir : baseDirs) {
    Path del = subDir == null ? baseDir : new Path(baseDir, subDir);
    LOG.info("Deleting path : " + del);
    try {
      if (!lfs.delete(del, true)) {
        LOG.warn("delete returned false for path: [" + del + "]");
      }
    } catch (FileNotFoundException e) {
      continue;
    }
  }
}
 
開發者ID:aliyun-beta,項目名稱:aliyun-oss-hadoop-fs,代碼行數:27,代碼來源:DockerContainerExecutor.java

示例5: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx)
    throws IOException, InterruptedException {
  Path subDir = ctx.getSubDir();
  List<Path> baseDirs = ctx.getBasedirs();

  if (baseDirs == null || baseDirs.size() == 0) {
    LOG.info("Deleting absolute path : " + subDir);
    if (!lfs.delete(subDir, true)) {
      //Maybe retry
      LOG.warn("delete returned false for path: [" + subDir + "]");
    }
    return;
  }
  for (Path baseDir : baseDirs) {
    Path del = subDir == null ? baseDir : new Path(baseDir, subDir);
    LOG.info("Deleting path : " + del);
    try {
      if (!lfs.delete(del, true)) {
        LOG.warn("delete returned false for path: [" + del + "]");
      }
    } catch (FileNotFoundException e) {
      continue;
    }
  }
}
 
開發者ID:aliyun-beta,項目名稱:aliyun-oss-hadoop-fs,代碼行數:27,代碼來源:DefaultContainerExecutor.java

示例6: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx) {
  String user = ctx.getUser();
  Path dir = ctx.getSubDir();
  List<Path> baseDirs = ctx.getBasedirs();

  verifyUsernamePattern(user);

  String runAsUser = getRunAsUser(user);
  String dirString = dir == null ? "" : dir.toUri().getPath();

  PrivilegedOperation deleteAsUserOp = new PrivilegedOperation(
      PrivilegedOperation.OperationType.DELETE_AS_USER, (String) null);

  deleteAsUserOp.appendArgs(
      runAsUser,
      user,
      Integer.toString(PrivilegedOperation.
          RunAsUserCommand.DELETE_AS_USER.getValue()),
      dirString);

  List<String> pathsToDelete = new ArrayList<String>();
  if (baseDirs == null || baseDirs.size() == 0) {
    LOG.info("Deleting absolute path : " + dir);
    pathsToDelete.add(dirString);
  } else {
    for (Path baseDir : baseDirs) {
      Path del = dir == null ? baseDir : new Path(baseDir, dir);
      LOG.info("Deleting path : " + del);
      pathsToDelete.add(del.toString());
      deleteAsUserOp.appendArgs(baseDir.toUri().getPath());
    }
  }

  try {
    Configuration conf = super.getConf();
    PrivilegedOperationExecutor privilegedOperationExecutor =
        PrivilegedOperationExecutor.getInstance(conf);

    privilegedOperationExecutor.executePrivilegedOperation(deleteAsUserOp,
        false);
  }   catch (PrivilegedOperationException e) {
    int exitCode = e.getExitCode();
    LOG.error("DeleteAsUser for " + StringUtils.join(" ", pathsToDelete)
        + " returned with exit code: " + exitCode, e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:48,代碼來源:LinuxContainerExecutor.java

示例7: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //導入方法依賴的package包/類
@Override
public void deleteAsUser(DeletionAsUserContext ctx) {
  String user = ctx.getUser();
  Path dir = ctx.getSubDir();
  List<Path> baseDirs = ctx.getBasedirs();

  verifyUsernamePattern(user);

  String runAsUser = getRunAsUser(user);
  String dirString = dir == null ? "" : dir.toUri().getPath();

  PrivilegedOperation deleteAsUserOp = new PrivilegedOperation(
      PrivilegedOperation.OperationType.DELETE_AS_USER, (String) null);

  deleteAsUserOp.appendArgs(
      runAsUser,
      user,
      Integer.toString(PrivilegedOperation.
          RunAsUserCommand.DELETE_AS_USER.getValue()),
      dirString);

  List<String> pathsToDelete = new ArrayList<String>();
  if (baseDirs == null || baseDirs.size() == 0) {
    LOG.info("Deleting absolute path : " + dir);
    pathsToDelete.add(dirString);
  } else {
    for (Path baseDir : baseDirs) {
      Path del = dir == null ? baseDir : new Path(baseDir, dir);
      LOG.info("Deleting path : " + del);
      pathsToDelete.add(del.toString());
      deleteAsUserOp.appendArgs(baseDir.toUri().getPath());
    }
  }

  try {
    Configuration conf = super.getConf();
    PrivilegedOperationExecutor privilegedOperationExecutor =
        getPrivilegedOperationExecutor();

    privilegedOperationExecutor.executePrivilegedOperation(deleteAsUserOp,
        false);
  }   catch (PrivilegedOperationException e) {
    int exitCode = e.getExitCode();
    LOG.error("DeleteAsUser for " + StringUtils.join(" ", pathsToDelete)
        + " returned with exit code: " + exitCode, e);
  }
}
 
開發者ID:hopshadoop,項目名稱:hops,代碼行數:48,代碼來源:LinuxContainerExecutor.java


注:本文中的org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext.getSubDir方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。