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


Java DeletionAsUserContext类代码示例

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


DeletionAsUserContext类属于org.apache.hadoop.yarn.server.nodemanager.executor包,在下文中一共展示了DeletionAsUserContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: cleanupAppFiles

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
private void cleanupAppFiles(String user) throws Exception {
  cleanupUserAppCache(user);
  cleanupUserFileCache(user);
  cleanupLogDirs(user);

  String[] files =
      { "launch_container.sh", "container_tokens", "touch-file" };
  Path ws = new Path(workSpace.toURI());
  for (String file : files) {
    File f = new File(workSpace, file);
    if (f.exists()) {
      exec.deleteAsUser(new DeletionAsUserContext.Builder()
          .setUser(user)
          .setSubDir(new Path(file))
          .setBasedirs(ws)
          .build());
    }
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:TestLinuxContainerExecutor.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,代码来源:DockerContainerExecutor.java

示例6: 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

示例7: tearDown

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
@After
public void tearDown() throws IOException, InterruptedException {
  if (containerManager != null) {
    containerManager.stop();
  }
  createContainerExecutor().deleteAsUser(new DeletionAsUserContext.Builder()
      .setUser(user)
      .setSubDir(new Path(localDir.getAbsolutePath()))
      .setBasedirs(new Path[] {})
      .build());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:BaseContainerManagerTest.java

示例8: tearDown

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
@Override
public void tearDown() throws IOException, InterruptedException {
  super.tearDown();
  createContainerExecutor().deleteAsUser(new DeletionAsUserContext.Builder()
      .setUser(user)
      .setSubDir(new Path(remoteRootLogDir.getAbsolutePath()))
      .setBasedirs(new Path[] {})
      .build());

  dispatcher.await();
  dispatcher.stop();
  dispatcher.close();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestLogAggregationService.java

示例9: cleanupUserAppCache

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
private void cleanupUserAppCache(String user) throws Exception {
  List<String> localDirs = dirsHandler.getLocalDirs();
  for (String dir : localDirs) {
    Path usercachedir = new Path(dir, ContainerLocalizer.USERCACHE);
    Path userdir = new Path(usercachedir, user);
    Path appcachedir = new Path(userdir, ContainerLocalizer.APPCACHE);
    exec.deleteAsUser(new DeletionAsUserContext.Builder()
        .setUser(user)
        .setSubDir(appcachedir)
        .build());
    FileContext.getLocalFSFileContext().delete(usercachedir, true);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestLinuxContainerExecutor.java

示例10: cleanupUserFileCache

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
private void cleanupUserFileCache(String user) {
  List<String> localDirs = dirsHandler.getLocalDirs();
  for (String dir : localDirs) {
    Path filecache = new Path(dir, ContainerLocalizer.FILECACHE);
    Path filedir = new Path(filecache, user);
    exec.deleteAsUser(new DeletionAsUserContext.Builder()
        .setUser(user)
        .setSubDir(filedir)
        .build());
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:TestLinuxContainerExecutor.java

示例11: cleanupLogDirs

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
private void cleanupLogDirs(String user) {
  List<String> logDirs = dirsHandler.getLogDirs();
  for (String dir : logDirs) {
    String appId = "APP_" + id;
    String containerId = "CONTAINER_" + (id - 1);
    Path appdir = new Path(dir, appId);
    Path containerdir = new Path(appdir, containerId);
    exec.deleteAsUser(new DeletionAsUserContext.Builder()
        .setUser(user)
        .setSubDir(containerdir)
        .build());
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestLinuxContainerExecutor.java

示例12: 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

示例13: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
@Override
public void deleteAsUser(DeletionAsUserContext ctx)
    throws IOException, InterruptedException {
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:5,代码来源:TestContainersMonitorResourceChange.java

示例14: 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

示例15: deleteAsUser

import org.apache.hadoop.yarn.server.nodemanager.executor.DeletionAsUserContext; //导入依赖的package包/类
/**
 * Delete specified directories as a given user.
 * @param ctx Encapsulates information necessary for deletion.
 * @throws IOException
 * @throws InterruptedException
 */
public abstract void deleteAsUser(DeletionAsUserContext ctx)
    throws IOException, InterruptedException;
 
开发者ID:naver,项目名称:hadoop,代码行数:9,代码来源:ContainerExecutor.java


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