Ambari學習筆記 初步了解

2021-10-16 12:50:29 字數 2693 閱讀 4485

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、網路等),而且可以自定義報警事件。

apache ambari 從集群節點和服務收集大量資訊,並把它們表現為容易使用的,集中化的介面:ambari web、restful api.       

ambari web顯示諸如服務特定的摘要、圖表以及警報資訊。可通過ambari web對hadoop集群進行建立、管理、監視、新增主機、更新服務配置等;也可以利用ambari web執行集群管理任務,例如啟用 kerberos 安全以及執行stack公升級。任何使用者都可以檢視ambari web特性。擁有administrator角色的使用者可以訪問比 operator或 view-only 的使用者能訪問的更多選項。例如,ambari administrator 可以管理集群安全,乙個 operator 使用者可以監控集群,而 view-only 使用者只能訪問系統管理員授予他的必要的許可權。

ambari自身也是乙個分布式架構的軟體,主要由兩部分組成:ambari server和ambari agent。簡單來說,使用者通過ambari server通知ambari agent安裝對應的軟體;agent會定時地傳送各個機器每個軟體模組的狀態給ambari server,最終這些狀態資訊會呈現在ambari的gui,方便使用者了解到集群的各種狀態,並進行相應的維護。

ambari server從整個集群上收集資訊。每個主機上都有ambari agent,ambari server通過ambari agent控制每個主機。

三、心跳機制

心跳機制是ambari-server和ambari-agent通過ambari-agent定期傳送post請求上報agent所在主機的狀態,ambari-server在接收到ambari-agent上報的狀態後,給ambari-agent返回應該在這台主機上執行的指令,這樣一次完整的流程就是一次心跳,通過心跳完成主從互動的這種機制就是心跳機制。

當用ambari

建立乙個service的時候,

ambari server

傳送stack

和service

的配置檔案以及

service

生命週期的控制指令碼到

ambari agent

。agent

redhat

,就是使用

yum

服務)。安裝完成後,

ambari server

會通知agent

去啟動service

。之後ambari server

會定期傳送命令到

agent

檢查service

的狀態,

agent

上報給server

,並呈現在

ambari

的gui

上。使用者和集群的互動流程:

1)在server安裝、配置完成並啟動後; 2

)使用者通過瀏覽器訪問server,在位址列輸入的url是由ambari-web(以後簡稱web)模組響應請求,web端又呼叫ambari-server 的rest api獲取資料顯示在瀏覽器頁面上。 3

)當使用者想要通過瀏覽器操作集群(stop、start某些元件)時,由web端向ambari-server傳送post或put請求,ambari-server 接收到請求後通過心跳機制,向ambari-agent(以後簡稱agent)傳送指令,最後由agent執行shell或python指令碼來完成。

瀏覽器頁面上顯示的資料根據時間狀態可以分為兩種型別。

一種是集群內各服務的實時狀態資訊,這類資料是由ams模組實時採集上報給ambari-metrics-collector,再由ambari-server呼叫ambari-metrics-collector的rest ap顯示在頁面上。這部分資料沒有落地到ambari-server 的資料庫中,在每次web端呼叫ambari-server的資料時,ambari-server都會呼叫ambari-metrics-collector獲取資料,進行適當的加工處理後直接返回給web端 顯示在瀏覽器頁面上。

還有一種由ambari-server快取在記憶體,持久化到資料庫的資料,這類資料比如主機列表、服務列表、服務的配置資訊等。這些資料是由agent採集通過心跳傳送給ambari-server後,ambari-server更新自身的資料狀態。當web端呼叫ambari-server的rest api獲取這些資料時,ambari-server將web端請求的資料直接返回給web顯示在瀏覽器頁面。

深度學習初步了解

深度學習興起,源於以下3個方面 傳統機器學習在處理原始形態的自然資料方面存在很大的侷限性。它需要技藝高超的工程師和經驗豐富的領域專家設計特徵提取器,將原始資料轉化為合適的中間表示形式或特徵向量,學習子系統,即分類器,然後對輸入模型進行檢測或分類。而深度學習較傳統機器學習的一大優勢是 它不需要人工設計...

機器學習初步了解

重點內容 對機器學習的理解,所謂機器學習,就是機器從資料中學習,機器從資料中學出規律,然後運用到新的資料中,在機器學習中,前者稱為訓練集,後者稱為測試集。學機器學習,我們第乙個往往學的是線性回歸 linear regression 在這裡,我從吳恩達教授講的例子說起,吳恩達講的是乙個房屋 與面積的關...

深度學習初步了解

深度學習是機器學習的一種技術。這裡的 深度 應當是指結構上包含若干順次 連線 的 層 輸入層 輸出層 隱藏層等 輸入層代表外部的輸入,輸出層代表程式的輸出,夾在它們中間在程式執行時不展示的,統稱隱藏層。資料每到達新的 層 都要發生相應的變換,這種輸入和輸出之間關係確定的變換,就是 層 之間 連線 的...