ambari 是 apache software foundation 的一個頂級開源項目,是一個集中部署、管理、監控 hadoop 分布式叢集的工具。但是這裡的 hadoop 是一個廣義概念,并不僅僅指的是 hadoop(hdfs、mapreduce),而是指 hadoop 生态圈(包括 spark、hive、hbase,sqoop,zookeeper、flume 等),ambari 可以使 hadoop 大資料軟體更容易使用,且可以友善的內建我們自己的服務讓 ambari 統一管理。
部署:自動化部署 hadoop 軟體,能夠自動處理服務、元件之間的依賴(比如 hbase 依賴 hdfs,datanode 啟動的時候,需要 namenode 先啟動等)。
管理:hadoop 服務元件的啟動、停止、重新開機,配置檔案的多版本管理。
監控:hadoop 服務的目前狀态(元件節點的存活情況、yarn 任務執行情況等),目前主機的狀态(記憶體、硬碟、cpu、網絡等),而且可以自定義報警事件。
接下來我會以 ambari 1.2.1 為基礎,分析一下 ambari 的架構。
下圖為 ambari 的界面:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLwUDNyUDOzAjMx0yM4IzNzEzM4EzMxQDM3EDMy0yNzUDMyczLcRDM3EDMy8CX3MTNwIzNvw1ZvxmYvwVbvNmLzd2bsJmbj5SNxAjMzV2Zh1Wavw1LcpDc0RHaiojIsJye.jpg)