近年來,國際形勢的風雲變幻,中美雙邊關係的惡化,自2013年“棱鏡門”事件之後,又一次警示國人,對於科技領域,只有自己掌握核心關鍵技術,實現自主可控,才能擺脫越來越頻繁的“卡脖子事件”,保證企業和國家信息安全。 俗話說“基礎不牢,地動山搖“。大數據基礎平臺什麼?是打地基的,是重中之重,地基扎得越深、 ...
近年來,國際形勢的風雲變幻,中美雙邊關係的惡化,自2013年“棱鏡門”事件之後,又一次警示國人,對於科技領域,只有自己掌握核心關鍵技術,實現自主可控,才能擺脫越來越頻繁的“卡脖子事件”,保證企業和國家信息安全。
俗話說“基礎不牢,地動山搖“。大數據基礎平臺什麼?是打地基的,是重中之重,地基扎得越深、打得越牢,上面的建築才能越穩定。可以說,數字化轉型的“萬丈高樓”起於基礎平臺,具備自主可控的平臺建設能力,是真正意義上一切的前提。
袋鼠雲今年7月最新推出自研大數據基礎平臺EasyMR,該產品提供Hadoop、Hive、Spark、Trino、HBase、Kafka等組件的自動化安裝、中心化管理與集群監控告警功能,完全相容Apache開源生態,支持企業級安全管控,一鍵開啟LDAP+Kerberos+Ranger認證許可權體系,以及提供一站式運維管理平臺。
結合袋鼠雲在大數據領域多年的實踐經驗和沉澱積累,袋鼠雲大數據基礎平臺EasyMR適配多種信創軟硬體,可以更加自主化地幫助企業快速構建大數據平臺,降低運維成本,極大提高集群管理效率。
一、EasyMR的系統架構
先來看看EasyMR的系統架構,由主體部分和監控告警組件共同構成:
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部署在大數據服務節點上。
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組件進行告警發送。
DataNode監控大盤
dt-alert
dt-alert是袋鼠雲自研的專用告警通道發送組件,原生支持郵件、簡訊、釘釘機器人、企業微信四種方式發送告警信息,同時也支持可擴展的自定義插件發送方式,用戶可以根據我們設定的介面規範開發自定義插件發送告警信息到內部告警通道中。
添加告警通道
二、使用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、伺服器規格中,具體適配清單如下:
後續EasyMR也會繼續適配其餘國產化操作系統、CPU等基礎組件,深耕信創國產化領域,為信創國產化獻出自己的力量。
豐富的組件可擴展性
EasyMR本身提供了豐富的大數據組件,包括但不限於Hadoop、Hive、Spark、Flink、HBase、Kafka、Trino,可以滿足用戶不同需求場景下對大數據集群的一站式創建、管理、部署、運維與監控。
除此之外,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商業版的國產化替代。
為了可信、可控、安全的數據未來,袋鼠雲在路上。
對EasyMR感興趣的用戶可以點擊添加【小袋鼠】進行咨詢,進一步瞭解產品詳情。
想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky
添加【小袋鼠:dtstack001】入qun,免費獲取大數據&開源乾貨
同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack