|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.yarn.applications.distributedshell.Client
@InterfaceAudience.Public @InterfaceStability.Unstable public class Client
Client for Distributed Shell application submission to YARN.
The distributed shell client allows an application master to be launched that in turn would run the provided shell command on a set of containers.
This client is meant to act as an example on how to write yarn-based applications.
To submit an application, a client first needs to connect to the ResourceManager
aka ApplicationsManager or ASM via the ApplicationClientProtocol
. The ApplicationClientProtocol
provides a way for the client to get access to cluster information and to request for a
new ApplicationId
.
For the actual job submission, the client first has to create an ApplicationSubmissionContext
.
The ApplicationSubmissionContext
defines the application details such as ApplicationId
and application name, the priority assigned to the application and the queue
to which this application needs to be assigned. In addition to this, the ApplicationSubmissionContext
also defines the ContainerLaunchContext
which describes the Container
with which
the ApplicationMaster
is launched.
The ContainerLaunchContext
in this scenario defines the resources to be allocated for the
ApplicationMaster
's container, the local resources (jars, configuration files) to be made available
and the environment to be set for the ApplicationMaster
and the commands to be executed to run the
ApplicationMaster
.
Using the ApplicationSubmissionContext
, the client submits the application to the
ResourceManager
and then monitors the application by requesting the ResourceManager
for an ApplicationReport
at regular time intervals. In case of the application taking too long, the client
kills the application by submitting a KillApplicationRequest
to the ResourceManager
.
Field Summary | |
---|---|
static String |
SCRIPT_PATH
|
Constructor Summary | |
---|---|
Client()
|
|
Client(Configuration conf)
|
Method Summary | |
---|---|
boolean |
init(String[] args)
Parse command line options |
static void |
main(String[] args)
|
boolean |
run()
Main run function for the client |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String SCRIPT_PATH
Constructor Detail |
---|
public Client(Configuration conf) throws Exception
Exception
public Client() throws Exception
Exception
Method Detail |
---|
public static void main(String[] args)
args
- Command line argumentspublic boolean init(String[] args) throws org.apache.commons.cli.ParseException
args
- Parsed command line options
org.apache.commons.cli.ParseException
public boolean run() throws IOException, YarnException
IOException
YarnException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |