@InterfaceAudience.Private @InterfaceStability.Unstable public class PrivilegedOperationExecutor extends Object
| Modifier and Type | Method and Description | 
|---|---|
| org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair | executePrivilegedInteractiveOperation(List<String> prefixCommands,
                                     PrivilegedOperation operation) | 
| String | executePrivilegedOperation(List<String> prefixCommands,
                          PrivilegedOperation operation,
                          File workingDir,
                          Map<String,String> env,
                          boolean grabOutput,
                          boolean inheritParentEnv)Executes a privileged operation. | 
| String | executePrivilegedOperation(PrivilegedOperation operation,
                          boolean grabOutput)Executes a privileged operation. | 
| static String | getContainerExecutorExecutablePath(org.apache.hadoop.conf.Configuration conf) | 
| static PrivilegedOperationExecutor | getInstance(org.apache.hadoop.conf.Configuration conf) | 
| String[] | getPrivilegedOperationExecutionCommand(List<String> prefixCommands,
                                      PrivilegedOperation operation) | 
| static PrivilegedOperation | squashCGroupOperations(List<PrivilegedOperation> ops)Squash operations for cgroups - e.g mount, add pid to cgroup etc .,
 For now, we only implement squashing for 'add pid to cgroup' since this
 is the only optimization relevant to launching containers | 
public static String getContainerExecutorExecutablePath(org.apache.hadoop.conf.Configuration conf)
public static PrivilegedOperationExecutor getInstance(org.apache.hadoop.conf.Configuration conf)
public String[] getPrivilegedOperationExecutionCommand(List<String> prefixCommands, PrivilegedOperation operation)
prefixCommands - in some cases ( e.g priorities using nice ),
                       prefix commands are necessaryoperation - the type and arguments for the operation to be
                       executedpublic String executePrivilegedOperation(List<String> prefixCommands, PrivilegedOperation operation, File workingDir, Map<String,String> env, boolean grabOutput, boolean inheritParentEnv) throws PrivilegedOperationException
prefixCommands - in some cases ( e.g priorities using nice ),
                       prefix commands are necessaryoperation - the type and arguments for the operation to be executedworkingDir - (optional) working directory for executionenv - (optional) env of the command will include specified varsgrabOutput - return (possibly large) shell command outputinheritParentEnv - inherit the env vars from the parent processPrivilegedOperationExceptionpublic String executePrivilegedOperation(PrivilegedOperation operation, boolean grabOutput) throws PrivilegedOperationException
operation - the type and arguments for the operation to be executedgrabOutput - return (possibly large) shell command outputPrivilegedOperationExceptionpublic org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair executePrivilegedInteractiveOperation(List<String> prefixCommands, PrivilegedOperation operation) throws PrivilegedOperationException, InterruptedException
prefixCommands - operation - PrivilegedOperationExceptionInterruptedExceptionpublic static PrivilegedOperation squashCGroupOperations(List<PrivilegedOperation> ops) throws PrivilegedOperationException
PrivilegedOperationExceptionCopyright © 2008–2023 Apache Software Foundation. All rights reserved.