國產自研、安全、高可用——袋鼠雲大資料基礎平臺EasyMR築基企業數字化轉型

數棧DTinsight發表於2022-12-01

近年來,國際形勢的風雲變幻,中美雙邊關係的惡化,警示國人,對於科技領域,只有自己掌握核心關鍵技術,實現自主可控,才能擺脫越來越頻繁的 “卡脖子事件”,保證企業和國家資訊保安。

俗話說 “基礎不牢,地動山搖 “。大資料基礎平臺什麼?是打地基的,是重中之重,地基扎得越深、打得越牢,上面的建築才能越穩定。可以說,數字化轉型的 “萬丈高樓” 起於基礎平臺,具備自主可控的平臺建設能力,是真正意義上一切的前提。

袋鼠雲今年 7 月最新推出自研大資料基礎平臺 EasyMR,該產品提供 Hadoop、Hive、Spark、Trino、HBase、Kafka 等元件的自動化安裝、中心化管理與叢集監控告警功能,完全相容 Apache 開源生態,支援企業級安全管控,一鍵開啟 LDAP+Kerberos+Ranger 認證許可權體系,以及提供一站式運維管理平臺。

結合袋鼠雲在大資料領域多年的實踐經驗和沉澱積累,袋鼠雲大資料基礎平臺 EasyMR 適配多種信創軟硬體,可以更加自主化地幫助企業快速構建大資料平臺,降低運維成本,極大提高叢集管理效率。

一、EasyMR 的系統架構

先來看看 EasyMR 的系統架構,由主體部分和監控告警元件共同構成:

file

EasyMR 的主體部分由以下三部分構成:server 端(matrix)、agent 管控服務(easyagent-server)、agent 管控客戶端(sidecar):

matrix

matrix 主要用於使用者前端互動,將使用者期望對大資料叢集的對應運維操作透過 web UI 的方式呈獻給使用者,也可以透過這種方式將使用者的運維指令下發到 Hadoop 叢集中,比如安裝 HDFS Namenode、啟動 HDFS Namenode、停止 HDFS Namenode 等等,從而完成使用者與 Hadoop 叢集的互動。

matrix 一般不部署在大資料服務節點上,是作為管控服務單獨部署。

easyagent-server

作為 matrix 與 easyagent-sidecar 之間的中間服務,easyagent-server 向上作為 http 服務端提供給業務層 matrix 一些 restful 介面,向下作為 rpc 服務端提供給底層 easyagent-sidecar 一些 rpc 介面供遠端呼叫,從而將業務層與底層服務成功解耦。

並且支援高可用分散式部署,當叢集壓力增加時可以增加節點部署,緩解叢集壓力。與 matrix 一樣,easyagent-server 一般不部署在大資料服務節點上,是作為管控服務單獨部署。

easyagent-sidecar

easyagent-sidecar 是由 golang 語言開發,負責執行 easyagent-server 下發的指令,進行大資料基礎服務的安裝、部署、啟動、停止、配置下發等操作。同時還負責進行叢集內主機和服務監控資訊以及心跳狀態監控上報,當 matrix 檢測到 sidecar 未及時上報心跳資料時在頁面會顯示主機狀態異常。

雖然 sidecar 是與大資料叢集最近的一個元件,但是它不儲存任何跟叢集相關的內容,只負責執行 easyagent-server 下發的命令以及自身主機與服務的心跳與健康檢查上報。easyagent-sidecar 部署在大資料服務節點上。

file easyagent-server/easyagent-sidecar 架構圖

除了上述三種基礎元件之外,EasyMR 作為一個完備的大資料基礎平臺,對於叢集的監控告警也引入了一些開源元件(prometheus、grafana),並根據需求對其進行了相應的二次開發,同時 EasyMR 還自研了專用告警通道傳送元件 (dt-alert):

prometheus

prometheus 是由 SoundCloud 開源的監控告警解決方案,從 2012 年開始編寫程式碼,2015 年在 GitHub 上開源,2016 年 Prometheus 成為繼 Kubernetes 之後,CNCF (Cloud Native Computing Foundation)中的第二個專案成員,也是第二個正式畢業的專案,是新一代開源解決方案。

對於使用 EasyMR 接入過的主機以及使用 EasyMR 部署的大資料服務,我們會為其啟動對應的 prometheus exporter(如主機會使用 node_exporter),prometheus 會定期抓取主機與服務的監控資料並寫入儲存中,便於頁面查詢展示以及針對監控資料進行告警。

grafana

grafana 是一個監控儀表系統,它是由 Grafana Labs 公司開源的系統監測 (System Monitoring) 工具。它可以極大地助力簡化監控的複雜度,使用者只需要提供需要監控的資料,它就可以幫助生成各種視覺化儀表。同時它還有報警功能,可以在系統出現問題時做到及時通知。

EasyMR 將開源版本的 grafana 進行了二次開發,做到無痕嵌入 EasyMR UI 中,大大豐富了監控圖表的多樣化展示。除此之外,對 grafana 的儀表盤配置告警規則後還可以對接自研的 dt-alert 元件進行告警傳送。

file DataNode 監控大盤

dt-alert

dt-alert 是袋鼠雲自研的專用告警通道傳送元件,原生支援郵件、簡訊、釘釘機器人、企業微信四種方式傳送告警資訊,同時也支援可擴充套件的自定義外掛傳送方式,使用者可以根據我們設定的介面規範開發自定義外掛傳送告警資訊到內部告警通道中。  file 新增告警通道

二、使用 EasyMR 部署 Hadoop 的操作原理

結合上述對 EasyMR 核心元件的描述,下文使用 Hadoop 叢集的例項為大家說明,在使用 EasyMR 部署 Hadoop 時的底層操作原理:

Part.1

本地部署一套 EasyMR 服務,得到前端頁面訪問入口。

Part.2

透過前端頁面進入主機接入頁面進行主機接入操作,此時 matrix 會向 easyagent-server 傳送請求在指定主機上安裝 easyagent-sidecar,easyagent-server 會將安裝指令碼下發到對應主機,easyagent-sidecar 安裝完畢之後會透過回撥的方式通知 matrix,完成主機接入。

此外,EasyMR 還會在主機上安裝 node_exporter,並將採集配置寫入 prometheus 配置檔案中,無需重啟即可熱載入配置進行主機監控資料採集。

Part.3

頁面選中 Hadoop 產品包,根據提示進行前期配置觸發部署操作,matrix 也是透過 easyagent-server 向 easyagent-sidecar 傳送下載安裝包、解壓安裝、啟動命令,啟動完成之後 easyagent-sidecar 會定期對服務進行健康檢查,並將結果透過 easyagent-server 上報到 matrix。

與主機類似,EasyMR 還會在主機上安裝對應服務的 prometheus exporter,並將採集配置寫入 prometheus 配置檔案中,無需重啟即可熱載入配置進行服務監控資料採集。

Part.4

進入儀表盤頁面檢視 Hadoop 服務的圖表監控,此時檢視的頁面來自於 iframe 嵌入的 grafana。

Part.5

對儀表盤進行監控告警配置並設定告警傳送通道,那麼當告警觸發時(比如 HDFS namenode full GC 次數過大),grafana 會呼叫 dt-alert 的介面將告警資訊傳送到使用者指定的渠道。

三、EasyMR 的能力優勢

袋鼠雲大資料基礎平臺 EasyMR 不僅擁有高效、完備的系統架構,還擁有更多的亮點優勢,主要體現在以下三方面:

全面的國產化適配能力

外部環境漸趨複雜,我國正大力推進信創國產化的程式,逐步將 CPU、作業系統、資料庫等基礎軟硬體技術換成國內自主研發的技術,減少對國外產品的依賴。

EasyMR 具備極強的國產化適配能力,可靈活部署在多種國產作業系統、CPU、伺服器規格中,具體適配清單如下:

file 後續 EasyMR 也會繼續適配其餘國產化作業系統、CPU 等基礎元件,深耕信創國產化領域,為信創國產化獻出自己的力量。

豐富的元件可擴充套件性

EasyMR 本身提供了豐富的大資料元件,包括但不限於 Hadoop、Hive、Spark、Flink、HBase、Kafka、Trino,可以滿足使用者不同需求場景下對大資料叢集的一站式建立、管理、部署、運維與監控。  file

除此之外,EasyMR 還擁有一套統一的產品包 schema 定義規範,將產品包完整的生命週期(安裝、啟動、配置、升級、解除安裝等)透過標準的 schema 定義表示。

當後續需要新增其餘型別的大資料元件時,無需對 EasyMR 平臺本身做出改造,只需根據規範定義新元件的產品包即可將其投入 EasyMR 平臺使用。

支援高可用的可靠性平臺

對於 EasyMR 系統架構中的多個核心元件,出於對平臺穩定性方面的考慮,EasyMR 做到了核心元件支援高可用且分散式可水平擴充套件。

・當一臺核心元件因為外界原因當機後,EasyMR 可以保證其餘服務能夠正常執行,包括但不限於服務安裝、啟動、停止、解除安裝等;

・當需要接入大資料元件的節點數量增加時可以靈活擴充套件核心元件的數量以適配,同理,當需要接入大資料元件的節點數量減少時也可以靈活減少核心元件的數量以節省資源。

四、EasyMR 使用場景

EasyMR 作為一款自主研發、完全可控,致力於助力企業資訊化智慧轉型的 “企業資料底座”,可以幫助客戶輕鬆應對各類應用場景。

快速搭建 Hadoop 叢集

在當前的大資料運維實踐下,當使用者需要使用 Hadoop 大資料分散式處理系統的時候,對使用者自身來說前期需要準備硬體環境、部署啟動 Hadoop 相關大資料元件。但是跟使用者相關的內容是編寫應用程式執行作業,對於不熟悉底層大資料叢集的使用者來說,這些前期準備工作非常冗長繁瑣而且出了問題也無法得到及時的解決。

並且在傳統模式下,運維手動部署一套 Hadoop 叢集至少需要 3 天的,尤其當叢集規模較大時,透過手動的方式更加耗費人力與物力,

但是使用 EasyMR 我們可以快速接入大資料節點並可以透過頁面化的方式一鍵部署 Hadoop 叢集,整個過程可以控制在半個小時內完成,極大提升了運維部署效率。

大資料叢集開啟安全

EasyMR 透過整合第三方的安全管控服務 Kerberos、LDAP 和 Ranger 來分別對大資料叢集做使用者安全認證、訪問使用者管理以及使用者資料許可權管控。

對於使用 EasyMR 部署的大資料叢集,使用者可以透過一鍵開啟的方式對大資料元件開啟安全認證,大大節省了傳統模式下的繁重的人工操作。

基於國產化作業系統部署大資料叢集

關鍵技術國產化,是 DT 時代中國企業發展的必然選擇。越來越多企業開始追求軟硬體的國產替代和自主可控。

EasyMR 目前已經適配多種國產作業系統與晶片架構,而且還將繼續主動針對國產化軟硬體去做適配,使用者使用 EasyMR 可以快速部署對應架構下的大資料叢集。

寫在最後

作為全鏈路數字化技術與服務提供商,袋鼠雲始終堅持自主研發和國產化路線,為攻克 “卡脖子” 難題,在技術創新上不遺餘力。EasyMR 基於最新的開源技術,為企業提供大資料基礎設施底座,致力於 Cloudera CDP 等國外 Hadoop 商業版的國產化替代。

為了可信、可控、安全的資料未來,袋鼠雲在路上。

想了解更多有關袋鼠雲大資料產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szitpub


新增【小袋鼠:dtstack001】入qun,免費獲取大資料&開源乾貨


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995740/viewspace-2926267/,如需轉載,請註明出處,否則將追究法律責任。

相關文章