翼MR在基于Apache Hadoop開源軟件的基礎上,在主要業務部件的可靠性、性能調優等方面進行了優化和提升。
系統可靠性
管理節點均實現HA
Hadoop開源版本的數據、計算節點已經是按照分布式系統進行設計的,單節點故障不影響系統整體運行;而以集中模式運作的管理節點可能出現的單點故障,就成為整個系統可靠性的短板。
翼MR對所有業務組件的管理節點都提供了類似的雙機的機制,包括Manager、HDFS NameNode、HiveServer、HBase HMaster、YARN ResourceManager、KerberosServer、LdapServer等,全部采用主備或負荷分擔配置,有效避免了單點故障場景對系統可靠性的影響。
異常場景下的可靠性保證
通過可靠性分析方法,梳理軟件、硬件異常場景下的處理措施,提升系統的可靠性。
-
保障意外掉電時的數據可靠性,不論是單節點意外掉電,還是整個集群意外斷電,恢復供電后系統能夠正常恢復業務,除非硬盤介質損壞,否則關鍵數據不會丟失。
-
硬盤亞健康檢測和故障處理,對業務不造成實際影響。
-
自動處理文件系統的故障,自動恢復受影響的業務。
-
自動處理進程和節點的故障,自動恢復受影響的業務。
-
自動處理網絡故障,自動恢復受影響的業務。
數據備份與恢復
為應對數據丟失或損壞對用戶業務造成不利影響,在異常情況下快速恢復系統,翼MR根據用戶業務的需要提供全量備份、增量備份和恢復功能。
自動備份
翼MR對集群管理系統Manager上的數據提供自動備份功能,根據制定的備份策略可自動備份集群上的數據,包括LdapServer、DBService的數據。
手動備份
在系統進行擴容、打補丁等重大操作前,需要通過手動備份集群管理系統的數據,以便在系統故障時,恢復集群管理系統功能。
為進一步提供系統的可靠性,在將Manager、HBase上的數據備份到第三方服務器時,也需要通過手動備份。
節點可靠性
操作系統健康狀態監控
周期采集操作系統硬件資源使用率數據,包括CPU、內存、硬盤、網絡等資源的使用率狀態。
進程健康狀態監控
翼MR提供業務實例的狀態以及業務實例進程的健康指標的檢查,能夠讓用戶第一時間感知進程健康狀態。
硬盤故障的自動處理
翼MR對開源版本進行了增強,可以監控各節點上的硬盤以及文件系統狀態。如果出現異常,立即將相關分區移出存儲池;如果硬盤恢復正常(通常是因為用戶更換了新硬盤),也會將新硬盤重新加入業務運作。這樣極大簡化了維護人員的工作,更換故障硬盤可以在線完成;同時用戶可以設置熱備盤,從而極大縮減了故障硬盤的修復時間,有利于提高系統的可靠性。
節點磁盤LVM配置
翼MR支持將多個磁盤配置成LVM(Logic Volume Management),多個磁盤規劃成一個邏輯卷組。配置成LVM可以避免各磁盤間使用不均的問題,保持各個磁盤間均勻使用在HDFS和Kafka等能夠利用多磁盤能力的組件上尤其重要。并且LVM可以支持磁盤擴容時不需要重新掛載,避免了業務中斷。
數據可靠性
翼MR可利用彈性云服務器ECS提供的反親和節點組以及放置組的能力,結合Hadoop的機架感知能力,將數據冗余到多個物理宿主機上,避免物理硬件的失效造成數據的失效。