Apache Ambari follows a master/slave architecture where the master node instructs the slave nodes to perform certain actions and report back the state of every action. The master node is responsible for keeping track of the state of the infrastructure. In order to do this, the master node uses a database server, which can be configured during setup time.
In order to have a better understanding of how Ambari works, let's take a look at the high level architecture of Ambari, in the following diagram:
At the core, we have the following applications:
- Ambari server
- Ambari agent
- Ambari web UI
- Database