public class GuaguaAppMaster extends Object
GuaguaAppMaster is application master to launch master and worker tasks.
This app master is used to check and launch all tasks, not to run the master task of distributed training. Master task is run on another container.
TODO: Web monitor is not supported in current app master.
Fail-over is added like mapreduce. If one container is failed, it will be launched until 4 times by default.
In each container, use a number start from 1 to mark as the id of the container for fail-over.
| Constructor and Description |
|---|
GuaguaAppMaster(org.apache.hadoop.yarn.api.records.ContainerId cId,
org.apache.hadoop.yarn.api.records.ApplicationAttemptId aId,
org.apache.hadoop.conf.Configuration conf)
Construct the GuaguappMaster, populate fields using env vars and set up by YARN framework in this execution
container.
|
| Modifier and Type | Method and Description |
|---|---|
AtomicInteger |
getAllocatedCount() |
org.apache.hadoop.yarn.client.api.async.AMRMClientAsync<org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest> |
getAmRMClient() |
org.apache.hadoop.yarn.api.records.ApplicationAttemptId |
getAppAttemptId() |
org.apache.hadoop.yarn.api.records.ApplicationId |
getAppId() |
AtomicInteger |
getCompletedCount() |
String |
getContainerArgs() |
org.apache.hadoop.yarn.api.records.ContainerId |
getContainerId() |
ml.shifu.guagua.yarn.GuaguaAppMaster.NMCallbackHandler |
getContainerListener() |
int |
getContainersToLaunch() |
ExecutorService |
getExecutor() |
AtomicInteger |
getFailedCount() |
int |
getHeapPerContainer() |
List<org.apache.hadoop.mapreduce.InputSplit> |
getNewSplits(org.apache.hadoop.conf.Configuration conf) |
org.apache.hadoop.yarn.client.api.async.NMClientAsync |
getNmClientAsync() |
AtomicInteger |
getSuccessfulCount() |
org.apache.hadoop.conf.Configuration |
getYarnConf() |
boolean |
isDone() |
static void |
main(String[] args)
Application entry point
|
boolean |
run()
Coordinates all requests for guagua's worker/master task containers, and manages application liveness heartbeat,
completion status, teardown, etc.
|
void |
setAllocatedCount(AtomicInteger allocatedCount) |
void |
setAmRMClient(org.apache.hadoop.yarn.client.api.async.AMRMClientAsync<org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest> amRMClient) |
void |
setAppAttemptId(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId) |
void |
setAppId(org.apache.hadoop.yarn.api.records.ApplicationId appId) |
void |
setCompletedCount(AtomicInteger completedCount) |
void |
setContainerArgs(String containerArgs) |
void |
setContainerId(org.apache.hadoop.yarn.api.records.ContainerId containerId) |
void |
setContainerListener(ml.shifu.guagua.yarn.GuaguaAppMaster.NMCallbackHandler containerListener) |
void |
setContainersToLaunch(int containersToLaunch) |
void |
setDone(boolean done) |
void |
setExecutor(ExecutorService executor) |
void |
setFailedCount(AtomicInteger failedCount) |
void |
setHeapPerContainer(int heapPerContainer) |
void |
setNmClientAsync(org.apache.hadoop.yarn.client.api.async.NMClientAsync nmClientAsync) |
void |
setSuccessfulCount(AtomicInteger successfulCount) |
void |
setYarnConf(org.apache.hadoop.yarn.conf.YarnConfiguration yarnConf) |
protected void |
shutdown() |
public GuaguaAppMaster(org.apache.hadoop.yarn.api.records.ContainerId cId,
org.apache.hadoop.yarn.api.records.ApplicationAttemptId aId,
org.apache.hadoop.conf.Configuration conf)
cId - the ContainerIdaId - the ApplicationAttemptIdpublic boolean run()
throws org.apache.hadoop.yarn.exceptions.YarnException,
IOException
org.apache.hadoop.yarn.exceptions.YarnExceptionIOExceptionprotected void shutdown()
public List<org.apache.hadoop.mapreduce.InputSplit> getNewSplits(org.apache.hadoop.conf.Configuration conf) throws IOException
IOExceptionpublic org.apache.hadoop.yarn.api.records.ContainerId getContainerId()
public void setContainerId(org.apache.hadoop.yarn.api.records.ContainerId containerId)
public org.apache.hadoop.yarn.api.records.ApplicationAttemptId getAppAttemptId()
public void setAppAttemptId(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
public boolean isDone()
public void setDone(boolean done)
public org.apache.hadoop.conf.Configuration getYarnConf()
public void setYarnConf(org.apache.hadoop.yarn.conf.YarnConfiguration yarnConf)
public AtomicInteger getCompletedCount()
public void setCompletedCount(AtomicInteger completedCount)
public AtomicInteger getFailedCount()
public void setFailedCount(AtomicInteger failedCount)
public AtomicInteger getAllocatedCount()
public void setAllocatedCount(AtomicInteger allocatedCount)
public AtomicInteger getSuccessfulCount()
public void setSuccessfulCount(AtomicInteger successfulCount)
public int getContainersToLaunch()
public void setContainersToLaunch(int containersToLaunch)
public ExecutorService getExecutor()
public void setExecutor(ExecutorService executor)
public int getHeapPerContainer()
public void setHeapPerContainer(int heapPerContainer)
public org.apache.hadoop.yarn.client.api.async.AMRMClientAsync<org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest> getAmRMClient()
public void setAmRMClient(org.apache.hadoop.yarn.client.api.async.AMRMClientAsync<org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest> amRMClient)
public org.apache.hadoop.yarn.client.api.async.NMClientAsync getNmClientAsync()
public void setNmClientAsync(org.apache.hadoop.yarn.client.api.async.NMClientAsync nmClientAsync)
public ml.shifu.guagua.yarn.GuaguaAppMaster.NMCallbackHandler getContainerListener()
public void setContainerListener(ml.shifu.guagua.yarn.GuaguaAppMaster.NMCallbackHandler containerListener)
public String getContainerArgs()
public void setContainerArgs(String containerArgs)
public org.apache.hadoop.yarn.api.records.ApplicationId getAppId()
public void setAppId(org.apache.hadoop.yarn.api.records.ApplicationId appId)
public static void main(String[] args)
args - command-line args (set by GuaguaYarnClient, if any)Copyright © 2015. All Rights Reserved.