AppMaster is the head of a streaming application.
The clockService will maintain a global view of message timestamp in the application
Will handle dag modification and other stuff related with DAG
With JarScheduler, we allows a DAG to be partitioned into several parts, with each part use its own jar file.
TaskLocator is used to decide which machine one task should run on.
TaskLocator is used to decide which machine one task should run on.
User can specify config Constants.GEARPUMP_STREAMING_LOCALITIES to decide to control which machine the task is running on.
TaskRegistry is used to track the registration of all tasks when one application is booting up.
This schedules tasks to run for new allocated resources.
AppMaster is the head of a streaming application.
It contains: 1. ExecutorManager to manage all executors. 2. TaskManager to manage all tasks, 3. ClockService to track the global clock for this streaming application. 4. Scheduler to decide which a task should be scheduled to.