E-MapReduce(簡稱EMR)新版控制台提供了資料湖叢集,一個更靈活、可靠,以及高效的巨量資料計算叢集。同時,您可以基於該叢集輕鬆構建一個可擴充的資料管道。本文為您介紹資料湖叢集支援的特性,以及與舊版Hadoop叢集之間的差異。
資料湖叢集特性介紹
可靠性
如果您啟用了叢集的高可用服務,則EMR把3台Master節點分布在底層不同的硬體上以降低故障風險。另外,考慮到Master節點在損壞情況下的修複時間,資料湖叢集不再支援2台Master模式。同時在高可用叢集模式下,EMR不再支援本地MySQL(單機部署,非高可用) 作為Hive MetaStore資料庫,僅支援DLF和外部RDS兩種方式。
資料湖叢集的建立以及擴容的過程中,會評估ECS的健康情況,從而避免異常ECS加入叢集;同時EMR管理器會自動識別在叢集後期運行過程中出現的磁碟損壞和長時間不可讀寫等極端情況的問題,並啟動補償機制。
靈活性
調整資料湖叢集的所有服務為可選,允許您根據實際需求來規劃叢集應用,您甚至可以只勾選HDFS從而擁有一個獨立的分布式儲存系統的叢集,或者只勾選Presto從而擁有一個獨立的Ad-Hoc叢集。
由於資料湖叢集預設支援Private Zone,所以叢集內部節點的訪問不再依賴hosts檔案,從而避免因依賴hosts檔案引發的問題。
附加安全性群組與掛載公網
Hadoop叢集預設有一個安全性群組,他簡單並便於使用,但無法精細化管理一個叢集對外開放的連接埠。例如,一個叢集需要對外開放HDFS的50070連接埠,如果此時增加一個連接埠入規則,則該規則會對叢集所有節點有效,但實際上Core或Task並不需要開放該連接埠。因此資料湖叢集對每一個節點群組增加了最多兩個附加安全性群組,從而可以精細化控制節點組出入連接埠的規則。
另外,EMR資料湖叢集將掛載公網功能移到了節點群組,這樣可以更好的搭配附加安全性群組實現精細化的對外開放公網的管理。
Spark部署
資料湖叢集在原有Hadoop2 + Spark2和Hadoop3 + Spark3的基礎上,增加了Hadoop2 + Spark3和Hadoop3 + Spark2的組合部署模式。您可以根據實際情況,選擇滿足自己的軟體組合。另外,資料湖叢集支援Kyuubi,一個企業級的資料湖計算引擎Gateway,為SparkSQL提供標準化的JDBC介面,可實現多租戶和多種計算資源管理方式。
網域名稱支援
資料湖叢集最佳化了節點的網域名稱,從原來的emr-header-1.cluster-13***
格式調整為master-1-1.c-494bea2977d9***
格式。
如果是高可用叢集,則取值master-1-{1-3}並加上叢集ID作為尾碼組成hostname。同時,機器名顯示為emr-user@master-1-1({IP}),這意味著您可以在終端上看到當前節點的IP地址,從而進一步方便您平時的營運工作。
登入使用者以及私密金鑰對
通過私密金鑰對的方式登入叢集時,其預設使用者名從root調整為emr-user,這樣做的出發點在於更推薦在平時節點營運時使用emr-user使用者。如果您仍然想使用root使用者,可以在登入叢集後通過sudo命令切換為root使用者。
使用私密金鑰對預設可以登入資料湖叢集所有節點而不僅是Master節點。如果您仍使用密碼方式登入叢集,則可以繼續使用root使用者。
新增emr-metadata
命令
資料湖叢集的每個節點預設增加一個可執行命令emr-metadata
,該命令會輸出當前節點關於叢集的相關中繼資料資訊。例如,叢集ID、節點的角色、instanceId以及網路與硬體設定等,這可以提供您在使用引導指令碼的過程中所依賴的本地節點資訊。
與Hadoop叢集的主要差異
模組 | 功能項 | 資料湖叢集 | Hadoop叢集 |
叢集 | 叢集建立時間 | 平均時間小於5分鐘。 | 平均時間小於10分鐘。 |
叢集節點群組新增節點 | 平均時間小於3.5分鐘。 | 平均時間小於10分鐘。 | |
開放API | 支援。 | 支援。 | |
網域名稱支援 | Private Zone。 | hosts地址映射。 | |
磁碟擴容 | 支援熱擴容,無需重啟服務。 | 不支援熱擴容,需要重啟服務。 | |
添加服務 | 支援。 | 支援。 | |
節點群組 | 交換器 | 可以在建立節點群組時選擇交換器。 | 僅支援在叢集建立時選擇,叢集建立後不可更改。 |
掛載公網 |
|
| |
附加安全性群組 | 支援。 | 不支援。 | |
部署集 |
| 功能受限。 | |
節點群組狀態 | 支援。 | 不支援。 | |
混合節點 | 支援同規格的不同機型混合。 |
| |
Auto Scaling | Auto Scaling | Auto Scaling與節點群組解耦,從獨立的功能模組轉為節點群組操作,使用更加便捷。 | 需要專用的Auto Scaling組,該節點群組不可進行手動擴縮容。 |
伸縮規則 |
|
| |
伸縮記錄 | 豐富了Auto Scaling記錄資訊。 | 提供基礎的伸縮記錄列表。 | |
指標採集頻率 | 每30秒採集一次。 | 每30秒採集一次。 | |
伸縮活動生效時間 | 規則應用後1~30秒。 | 規則應用後1~2分鐘。 | |
擴縮容 | 擴縮容活動 |
|
|
高可用與軟體應用 | 高可用 | 不再支援本地MySQL作為Hive Metastore資料庫。 | 支援本地MySQL作為Hive Metastore資料庫。 |
支援部署集,3台Master分布在不同底層硬體以降低硬體風險。 | 預設不支援部署集。 | ||
NameNode與ResourceManager部署於3節點,並不再支援2 Master模式。 | Namenode與ResourceManager僅部署於2節點,支援2 Master模式。 | ||
叢集應用組件 | 支援可選 | 必選 + 可選。 | |
Spark2與Hadoop3組合 | 支援。 | 不支援。 | |
Spark3與Hadoop2組合 | 支援。 | EMR-3.38.0之後的版本支援同時部署。 |