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


Java ShellCommandExecutor.getExitCode方法代码示例

本文整理汇总了Java中org.apache.hadoop.util.Shell.ShellCommandExecutor.getExitCode方法的典型用法代码示例。如果您正苦于以下问题:Java ShellCommandExecutor.getExitCode方法的具体用法?Java ShellCommandExecutor.getExitCode怎么用?Java ShellCommandExecutor.getExitCode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.util.Shell.ShellCommandExecutor的用法示例。


在下文中一共展示了ShellCommandExecutor.getExitCode方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: chmod

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
/**
 * Change the permissions on a file / directory, recursively, if
 * needed.
 * @param filename name of the file whose permissions are to change
 * @param perm permission string
 * @param recursive true, if permissions should be changed recursively
 * @return the exit code from the command.
 * @throws IOException
 */
public static int chmod(String filename, String perm, boolean recursive)
                          throws IOException {
  String [] cmd = Shell.getSetPermissionCommand(perm, recursive);
  String[] args = new String[cmd.length + 1];
  System.arraycopy(cmd, 0, args, 0, cmd.length);
  args[cmd.length] = new File(filename).getPath();
  ShellCommandExecutor shExec = new ShellCommandExecutor(args);
  try {
    shExec.execute();
  }catch(IOException e) {
    if(LOG.isDebugEnabled()) {
      LOG.debug("Error while changing permission : " + filename
                +" Exception: " + StringUtils.stringifyException(e));
    }
  }
  return shExec.getExitCode();
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:27,代码来源:FileUtil.java

示例2: chmod

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
/**
 * Change the permissions on a file / directory, recursively, if
 * needed.
 * @param filename name of the file whose permissions are to change
 * @param perm permission string
 * @param recursive true, if permissions should be changed recursively
 * @return the exit code from the command.
 * @throws IOException
 */
public static int chmod(String filename, String perm, boolean recursive)
                          throws IOException {
  String [] cmd = Shell.getSetPermissionCommand(perm, recursive);
  String[] args = new String[cmd.length + 1];
  System.arraycopy(cmd, 0, args, 0, cmd.length);
  args[cmd.length] = new File(filename).getPath();
  ShellCommandExecutor shExec = new ShellCommandExecutor(args);
  try {
    shExec.execute();
  }catch(IOException e) {
    if(LOG.isDebugEnabled()) {
      LOG.debug("Error while changing permission : " + filename 
                +" Exception: " + StringUtils.stringifyException(e));
    }
  }
  return shExec.getExitCode();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:FileUtil.java

示例3: init

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override 
public void init() throws IOException {        
  // Send command to executor which will just start up, 
  // verify configuration/permissions and exit
  List<String> command = new ArrayList<String>(
      Arrays.asList(containerExecutorExe,
          "--checksetup"));
  String[] commandArray = command.toArray(new String[command.size()]);
  ShellCommandExecutor shExec = new ShellCommandExecutor(commandArray);
  if (LOG.isDebugEnabled()) {
    LOG.debug("checkLinuxExecutorSetup: " + Arrays.toString(commandArray));
  }
  try {
    shExec.execute();
  } catch (ExitCodeException e) {
    int exitCode = shExec.getExitCode();
    LOG.warn("Exit code from container executor initialization is : "
        + exitCode, e);
    logOutput(shExec.getOutput());
    throw new IOException("Linux container executor not configured properly"
        + " (error=" + exitCode + ")", e);
  }
 
  resourcesHandler.init(this);
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:26,代码来源:LinuxContainerExecutor.java

示例4: mountCgroups

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
public void mountCgroups(List<String> cgroupKVs, String hierarchy)
       throws IOException {
  List<String> command = new ArrayList<String>(
          Arrays.asList(containerExecutorExe, "--mount-cgroups", hierarchy));
  command.addAll(cgroupKVs);
  
  String[] commandArray = command.toArray(new String[command.size()]);
  ShellCommandExecutor shExec = new ShellCommandExecutor(commandArray);

  if (LOG.isDebugEnabled()) {
      LOG.debug("mountCgroups: " + Arrays.toString(commandArray));
  }

  try {
      shExec.execute();
  } catch (IOException e) {
      int ret_code = shExec.getExitCode();
      LOG.warn("Exception in LinuxContainerExecutor mountCgroups ", e);
      logOutput(shExec.getOutput());
      throw new IOException("Problem mounting cgroups " + cgroupKVs + 
        "; exit code = " + ret_code + " and output: " + shExec.getOutput(), e);
  }
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:24,代码来源:LinuxContainerExecutor.java

示例5: setup

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override
public void setup(LocalDirAllocator allocator, LocalStorage localStorage)
    throws IOException {

  // Check the permissions of the task-controller binary by running
  // it plainly.  If permissions are correct, it returns an error
  // code 1, else it returns 24 or something else if some other bugs
  // are also present.
  String[] taskControllerCmd =
      new String[] { taskControllerExe };
  ShellCommandExecutor shExec = new ShellCommandExecutor(taskControllerCmd);
  try {
    shExec.execute();
  } catch (ExitCodeException e) {
    int exitCode = shExec.getExitCode();
    if (exitCode != 1) {
      LOG.warn("Exit code from checking binary permissions is : " + exitCode);
      logOutput(shExec.getOutput());
      throw new IOException("Task controller setup failed because of invalid"
        + "permissions/ownership with exit code " + exitCode, e);
    }
  }
  this.allocator = allocator;
  this.localStorage = localStorage;
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:26,代码来源:LinuxTaskController.java

示例6: signalTask

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override
public void signalTask(String user, int taskPid, 
                       Signal signal) throws IOException {
  String[] command = 
    new String[]{taskControllerExe, 
                 user,
                 localStorage.getDirsString(),
                 Integer.toString(Commands.SIGNAL_TASK.getValue()),
                 Integer.toString(taskPid),
                 Integer.toString(signal.getValue())};
  ShellCommandExecutor shExec = new ShellCommandExecutor(command);
  if (LOG.isDebugEnabled()) {
    LOG.debug("signalTask: " + Arrays.toString(command));
  }
  try {
    shExec.execute();
  } catch (ExitCodeException e) {
    int ret_code = shExec.getExitCode();
    if (ret_code != ResultCode.INVALID_TASK_PID.getValue()) {
      logOutput(shExec.getOutput());
      throw new IOException("Problem signalling task " + taskPid + " with " +
                            signal + "; exit = " + ret_code);
    }
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:26,代码来源:LinuxTaskController.java

示例7: unTarUsingTar

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
private static void unTarUsingTar(File inFile, File untarDir,
    boolean gzipped) throws IOException {
  StringBuffer untarCommand = new StringBuffer();
  if (gzipped) {
    untarCommand.append(" gzip -dc '");
    untarCommand.append(FileUtil.makeShellPath(inFile));
    untarCommand.append("' | (");
  }
  untarCommand.append("cd '");
  untarCommand.append(FileUtil.makeShellPath(untarDir));
  untarCommand.append("' ; ");
  untarCommand.append("tar -xf ");

  if (gzipped) {
    untarCommand.append(" -)");
  } else {
    untarCommand.append(FileUtil.makeShellPath(inFile));
  }
  String[] shellCmd = { "bash", "-c", untarCommand.toString() };
  ShellCommandExecutor shexec = new ShellCommandExecutor(shellCmd);
  shexec.execute();
  int exitcode = shexec.getExitCode();
  if (exitcode != 0) {
    throw new IOException("Error untarring file " + inFile +
                ". Tar process exited with exit code " + exitcode);
  }
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:28,代码来源:FileUtil.java

示例8: unTarUsingTar

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
private static void unTarUsingTar(File inFile, File untarDir,
    boolean gzipped) throws IOException {
  StringBuffer untarCommand = new StringBuffer();
  if (gzipped) {
    untarCommand.append(" gzip -dc '");
    untarCommand.append(FileUtil.makeShellPath(inFile));
    untarCommand.append("' | (");
  } 
  untarCommand.append("cd '");
  untarCommand.append(FileUtil.makeShellPath(untarDir)); 
  untarCommand.append("' ; ");
  untarCommand.append("tar -xf ");

  if (gzipped) {
    untarCommand.append(" -)");
  } else {
    untarCommand.append(FileUtil.makeShellPath(inFile));
  }
  String[] shellCmd = { "bash", "-c", untarCommand.toString() };
  ShellCommandExecutor shexec = new ShellCommandExecutor(shellCmd);
  shexec.execute();
  int exitcode = shexec.getExitCode();
  if (exitcode != 0) {
    throw new IOException("Error untarring file " + inFile + 
                ". Tar process exited with exit code " + exitcode);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:28,代码来源:FileUtil.java

示例9: signalContainer

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override
public boolean signalContainer(String user, String pid, Signal signal)
    throws IOException {

  verifyUsernamePattern(user);
  String runAsUser = getRunAsUser(user);

  String[] command =
      new String[] { containerExecutorExe,
                 runAsUser,
                 user,
                 Integer.toString(Commands.SIGNAL_CONTAINER.getValue()),
                 pid,
                 Integer.toString(signal.getValue()) };
  ShellCommandExecutor shExec = new ShellCommandExecutor(command);
  if (LOG.isDebugEnabled()) {
    LOG.debug("signalContainer: " + Arrays.toString(command));
  }
  try {
    shExec.execute();
  } catch (ExitCodeException e) {
    int ret_code = shExec.getExitCode();
    if (ret_code == ResultCode.INVALID_CONTAINER_PID.getValue()) {
      return false;
    }
    LOG.warn("Error in signalling container " + pid + " with " + signal
        + "; exit = " + ret_code, e);
    logOutput(shExec.getOutput());
    throw new IOException("Problem signalling container " + pid + " with "
        + signal + "; output: " + shExec.getOutput() + " and exitCode: "
        + ret_code, e);
  }
  return true;
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:35,代码来源:LinuxContainerExecutor.java

示例10: runScript

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
/**
 * Runs the script given in args
 * @param args script name followed by its argumnets
 * @param dir current working directory.
 * @throws IOException
 */
public void runScript(List<String> args, File dir) throws IOException {
  ShellCommandExecutor shexec = 
          new ShellCommandExecutor(args.toArray(new String[0]), dir);
  shexec.execute();
  int exitCode = shexec.getExitCode();
  if (exitCode != 0) {
    throw new IOException("Task debug script exit with nonzero status of " 
                          + exitCode + ".");
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:17,代码来源:TaskTracker.java

示例11: runScript

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
/**
 * Runs the script given in args
 * @param args script name followed by its argumnets
 * @param dir current working directory.
 * @throws IOException
 */
public void runScript(List<String> args, File dir) throws IOException {
  ShellCommandExecutor shexec =
          new ShellCommandExecutor(args.toArray(new String[0]), dir);
  shexec.execute();
  int exitCode = shexec.getExitCode();
  if (exitCode != 0) {
    throw new IOException("Task debug script exit with nonzero status of "
                          + exitCode + ".");
  }
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:17,代码来源:TaskTracker.java

示例12: unTar

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
/**
 * Given a Tar File as input it will untar the file in a the untar directory
 * passed as the second parameter
 *
 * This utility will untar ".tar" files and ".tar.gz","tgz" files.
 *
 * @param inFile The tar file as input.
 * @param untarDir The untar directory where to untar the tar file.
 * @throws IOException
 */
public static void unTar(File inFile, File untarDir) throws IOException {
  if (!untarDir.mkdirs()) {
    if (!untarDir.isDirectory()) {
      throw new IOException("Mkdirs failed to create " + untarDir);
    }
  }

  StringBuffer untarCommand = new StringBuffer();
  boolean gzipped = inFile.toString().endsWith("gz");
  if (gzipped) {
    untarCommand.append(" gzip -dc '");
    untarCommand.append(FileUtil.makeShellPath(inFile));
    untarCommand.append("' | (");
  }
  untarCommand.append("cd '");
  untarCommand.append(FileUtil.makeShellPath(untarDir));
  untarCommand.append("' ; ");
  untarCommand.append("tar -xf ");

  if (gzipped) {
    untarCommand.append(" -)");
  } else {
    untarCommand.append(FileUtil.makeShellPath(inFile));
  }
  String[] shellCmd = { "bash", "-c", untarCommand.toString() };
  ShellCommandExecutor shexec = new ShellCommandExecutor(shellCmd);
  shexec.execute();
  int exitcode = shexec.getExitCode();
  if (exitcode != 0) {
    throw new IOException("Error untarring file " + inFile +
                ". Tar process exited with exit code " + exitcode);
  }
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:44,代码来源:FileUtil.java

示例13: signalContainer

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override
public boolean signalContainer(String user, String pid, Signal signal)
    throws IOException {

  String[] command =
      new String[] { containerExecutorExe,
                 user,
                 Integer.toString(Commands.SIGNAL_CONTAINER.getValue()),
                 pid,
                 Integer.toString(signal.getValue()) };
  ShellCommandExecutor shExec = new ShellCommandExecutor(command);
  if (LOG.isDebugEnabled()) {
    LOG.debug("signalContainer: " + Arrays.toString(command));
  }
  try {
    shExec.execute();
  } catch (ExitCodeException e) {
    int ret_code = shExec.getExitCode();
    if (ret_code == ResultCode.INVALID_CONTAINER_PID.getValue()) {
      return false;
    }
    LOG.warn("Error in signalling container " + pid + " with " + signal
        + "; exit = " + ret_code, e);
    logOutput(shExec.getOutput());
    throw new IOException("Problem signalling container " + pid + " with "
        + signal + "; output: " + shExec.getOutput() + " and exitCode: "
        + ret_code, e);
  }
  return true;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:31,代码来源:LinuxContainerExecutor.java

示例14: deleteAsUser

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override
public void deleteAsUser(String user, Path dir, Path... baseDirs) {
  List<String> command = new ArrayList<String>(
      Arrays.asList(containerExecutorExe,
                  user,
                  Integer.toString(Commands.DELETE_AS_USER.getValue()),
                  dir == null ? "" : dir.toUri().getPath()));
  if (baseDirs == null || baseDirs.length == 0) {
    LOG.info("Deleting absolute path : " + dir);
  } else {
    for (Path baseDir : baseDirs) {
      Path del = dir == null ? baseDir : new Path(baseDir, dir);
      LOG.info("Deleting path : " + del);
      command.add(baseDir.toUri().getPath());
    }
  }
  String[] commandArray = command.toArray(new String[command.size()]);
  ShellCommandExecutor shExec = new ShellCommandExecutor(commandArray);
  LOG.info(" -- DEBUG -- deleteAsUser: " + Arrays.toString(commandArray));
  if (LOG.isDebugEnabled()) {
    LOG.debug("deleteAsUser: " + Arrays.toString(commandArray));
  }
  try {
    shExec.execute();
    if (LOG.isDebugEnabled()) {
      logOutput(shExec.getOutput());
    }
  } catch (IOException e) {
    int exitCode = shExec.getExitCode();
    LOG.error("DeleteAsUser for " + dir.toUri().getPath()
        + " returned with exit code: " + exitCode, e);
    LOG.error("Output from LinuxContainerExecutor's deleteAsUser follows:");
    logOutput(shExec.getOutput());
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:36,代码来源:LinuxContainerExecutor.java

示例15: startLocalizer

import org.apache.hadoop.util.Shell.ShellCommandExecutor; //导入方法依赖的package包/类
@Override
public void startLocalizer(Path nmPrivateContainerTokensPath,
    InetSocketAddress nmAddr, String user, String appId, String locId,
    LocalDirsHandlerService dirsHandler)
    throws IOException, InterruptedException {

  List<String> localDirs = dirsHandler.getLocalDirs();
  List<String> logDirs = dirsHandler.getLogDirs();
  
  verifyUsernamePattern(user);
  String runAsUser = getRunAsUser(user);
  List<String> command = new ArrayList<String>();
  addSchedPriorityCommand(command);
  command.addAll(Arrays.asList(containerExecutorExe, 
                 runAsUser,
                 user, 
                 Integer.toString(Commands.INITIALIZE_CONTAINER.getValue()),
                 appId,
                 nmPrivateContainerTokensPath.toUri().getPath().toString(),
                 StringUtils.join(",", localDirs),
                 StringUtils.join(",", logDirs)));

  File jvm =                                  // use same jvm as parent
    new File(new File(System.getProperty("java.home"), "bin"), "java");
  command.add(jvm.toString());
  command.add("-classpath");
  command.add(System.getProperty("java.class.path"));
  String javaLibPath = System.getProperty("java.library.path");
  if (javaLibPath != null) {
    command.add("-Djava.library.path=" + javaLibPath);
  }
  buildMainArgs(command, user, appId, locId, nmAddr, localDirs);
  String[] commandArray = command.toArray(new String[command.size()]);
  ShellCommandExecutor shExec = new ShellCommandExecutor(commandArray);
  if (LOG.isDebugEnabled()) {
    LOG.debug("initApplication: " + Arrays.toString(commandArray));
  }
  try {
    shExec.execute();
    if (LOG.isDebugEnabled()) {
      logOutput(shExec.getOutput());
    }
  } catch (ExitCodeException e) {
    int exitCode = shExec.getExitCode();
    LOG.warn("Exit code from container " + locId + " startLocalizer is : "
        + exitCode, e);
    logOutput(shExec.getOutput());
    throw new IOException("Application " + appId + " initialization failed" +
    		" (exitCode=" + exitCode + ") with output: " + shExec.getOutput(), e);
  }
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:52,代码来源:LinuxContainerExecutor.java


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