EasyMR 作為袋鼠雲基於雲原生技術和 Hadoop、Hive、Spark、Flink、Hbase、Presto 等開源大數據組件構建的彈性計算引擎。此前,我們已就其展開了多方位、多角度的詳盡介紹。而此次,我們成功接入了大數據組件的升級和回滾功能,能夠藉助 EasyMR 來掌控大數據組件的升級與回 ...
EasyMR 作為袋鼠雲基於雲原生技術和 Hadoop、Hive、Spark、Flink、Hbase、Presto 等開源大數據組件構建的彈性計算引擎。此前,我們已就其展開了多方位、多角度的詳盡介紹。而此次,我們成功接入了大數據組件的升級和回滾功能,能夠藉助 EasyMR 來掌控大數據組件的升級與回滾流程。
在本文中,我們就將為大家詳細介紹在 EasyMR 中如何接管大數據組件的升級和回滾流程。
傳統大數據組件升級
大數據技術當下是全球各行業的核心技術之一,其核心要義在於把數據拆解為更小的數據塊,然後在分散式的環境中加以處理。Hadoop 和 Spark 作為當前最流行的大數據處理框架,它們通過不同的方法來實現這一目標。
而在傳統的大數據組件升級流程中,通常會遵循以下幾個步驟:
● 環境準備
· 確保當前環境滿足新版本 Spark 和 Hive 的依賴要求
· 備份當前的配置文件和重要數據
● 下載軟體
· 從官方網站下載新版本的 Spark 和 Hive 安裝包
● 停止服務
· 在升級前,停止所有正在運行的 Hadoop、Hive 和 Spark 服務
● 替換安裝包
· 將下載的新版本 Spark 和 Hive 安裝包替換舊版本的安裝包
● 配置 Hive
· 解壓 Hive 安裝包並重命名目錄
· 修改 hive-site.xml 配置文件,將舊版本的配置文件複製到新版本中,並根據新版本的要求進行必要的修改和更新
· 將 MySQL 的 JDBC 驅動放到 Hive 的 lib 目錄下
● 配置 Spark
· 解壓 Spark 安裝包
· 配置 spark-env.sh 和 spark-defaults.conf 文件,將舊版本的配置文件複製到新版本中,並根據新版本的要求進行必要的修改和更新
· 將 Spark 的 jar 包上傳到 HDFS 的特定目錄下
● Hive 元數據升級
· 如果 Hive 版本有變更,可能需要使用 schematool 工具來升級 Hive 的元數據存儲
● 啟動服務
· 啟動 Hadoop 集群和 MySQL 服務
· 啟動 Hive 服務,包括 Metastore 和 HiveServer2
● 重新配置集成
· 根據新版本的要求重新配置 Spark 與 Hive 的集成,包括更新 hive-site.xml 和 spark-defaults.conf 文件
● 測試驗證
· 啟動 Hadoop、Hive 和 Spark 服務,執行測試查詢以驗證升級是否成功
在上述流程中,我們能夠明顯看出升級流程的繁瑣。同時,大數據組件部署之間存在一定差異,例如:hbase 與其他組件不同,需要備份 zookeeper。這意味著在部署時,我們首先要將各個組件間升級的差異點和升級方案進行總結。
鑒於 Hadoop 本身的複雜性,運維人員在進行升級操作時,需要確認升級方案有無遺漏之處,一旦出現步驟遺漏,便會致使升級失敗,嚴重情況下還可能造成數據丟失。
EasyMR 接管大數據組件升級
考慮到上述傳統 Hadoop 升級所產生的複雜狀況,我們決定把這種複雜性交由平臺來處理,由平臺接管升級過程中不同組件的差異性操作以及配置文件備份等相關操作,將簡單的操作邏輯呈現給用戶。
接下來,我們將從 Hive、HBase 和 Spark 組件的升級方面,來介紹 EasyMR 是如何接管大數據組件的升級流程的。
Hadoop 部署
在主機模式下部署 Hadoop 時,我們需要下載 Hadoop 的安裝包,並依照步驟逐步進行操作。然而,在 EasyMR 上,我們僅需按照打包文檔把打包好的產品包上傳至 EasyMR 平臺,即可實現一鍵部署。
選擇需要部署的 Hadoop 服務。
先分配服務需要部署的節點,隨後執行部署,等待一段時間,若沒有問題,便完成了 Hadoop 組件的部署工作。
Hadoop 的升級也僅需按照上述流程操作即可,EasyMR 會首先自動停止並卸載舊服務,並且備份舊的配置文件。在上述流程順利通過後,再進行新版本的部署。
Hive 升級
上面我們已回顧了 Hadoop 組件的部署方式,接下來正式介紹 Hive 組件從 3.1.2 版本升級到 3.2.2 版本的具體步驟。
在 Hive 的升級過程中,需要先利用 mysqldump 工具對 MySQL 資料庫進行備份,只有當備份成功後,方可進行後續的升級操作。
升級流程將按照 Hadoop 升級邏輯分配服務節點進行部署。
HBase 升級
HBase 升級和 Hive 升級存在差異。Hive 升級首先得備份資料庫,HBase 卻不用,只需操作人員在部署時確認 HBase 的相容性問題就行。
後續同樣按照升級流程,勾選產品包部署服務,分配服務部署節點即可。
Spark 升級
Spark 升級時需要留意的是,有無正在運行的任務。在 Spark 升級前,會獲取 yarn_resourcemanager 上運行中的任務狀態,若存在,會給出提示。然後由操作人員依據當前狀況決定是否強制升級。
平臺管控備份流程
上面介紹了用戶層面能感知到的不同服務升級的差異,下麵來講一講在程式後臺我們開展的那些操作。
· 每次升級回滾,後臺會自動將 conf 配置文件備份,防止配置丟失
· 在 HBase 升級流程中,會先備份 zookeeper 的服務數據
· 然後通過 grpc 服務調用 hbase_bak 備份腳本,對 Hadoop 的服務數據進行備份
經過上述操作,我們可以很輕鬆地在 EasyMR 上完成大數據組件的升級和回滾操作,其餘服務也能通過類似步驟操作完成。
總結
在 AI 蓬勃發展的時代,數據已然成為 AI 應用中至關重要的一個環節。EasyMR 作為國產的大數據引擎,將會在大數據領域展開更為深入的探索,致力於簡化大數據工具的操作難度,提高運維人員的工作效率。
《行業指標體系白皮書》下載地址:https://www.dtstack.com/resources/1057?src=szsm
《數棧產品白皮書》下載地址:https://www.dtstack.com/resources/1004?src=szsm
《數據治理行業實踐白皮書》下載地址:https://www.dtstack.com/resources/1001?src=szsm
想瞭解或咨詢更多有關大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky