I have recently started learning Hadoop and I am finding it difficult the overall architecture or job execution flow w.r.t. YARN. I was following the official documentation on YARN where I found that:
ApplicationMaster has the responsibility of negotiating appropriate resource containers from the Scheduler (ResourceManager)
and ApplicationsManager is responsible for negotiating the first container for executing the ApplicationMaster.
Link : http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
Following are the things that I am confused with:
- The documentation says that ApplicationMaster has the responsilibility to request ResourceManager for Container. Now, who is responsible for providing the container for ApplicationMaster in the first place?
- How does YARN knows about creating a container for ApplicationMaster?