熱線電話:13121318867

登錄
首頁職業發展揭秘中興大數據在銀行領域的系統部署
揭秘中興大數據在銀行領域的系統部署
2016-01-14
收藏

揭秘中興大數據在銀行領域的系統部署

本文首度揭秘了中興通訊的大數據平臺系統DAP在國內Z銀行的部署過程。

大數據是一個開放的平臺,當前大部分系統是基于互聯網公司的開源的產品而生,銀行業是不能完全照搬互聯網原生技術模式,銀行業在安全性、穩定性有其特殊要求,對高可用、安全私密有更高的需求,新的大數據技術平臺必須與傳統行業的企業級特性相融合。

為了保證穩定性,從硬件到軟件都需要考慮高可用問題。

Z銀行的大數據業務場景如下:

  • 對用戶的數據進行ETL處理,通過MapReduce完成,為離線應用。
  • 將某類數據進行抽取,放入到數據庫中,對外提供查詢,為在線應用。
  • 當數據越來越多時,可通過增加存儲服務器的方式進行線性擴展。

設計思路

綜合上述業務場景,同步考慮金融行業的數據高安全性,服務高穩定性,我們進行規劃設計。

Z銀行需要進行海量數據的存儲,則必須要部署HDFS,且該組件是其他組件的基礎。同時用戶需要對數據進行ETL處理,則MapReduce(YARN)也同樣要部署。對外進行在線查詢離不開HBase,因為HBase也需要進行部署。

綜上,需要部署的組件有Zookeeper、HDFS、HBase和MapReduce(YARN)。

金融業的特殊性要求我們必須考慮到整體服務的高穩定性,所以需要考慮組件的高可用實現。對于各個組件的高可用實現,我們分別采用如下的實現方式:

Zookeeper:選擇三臺服務器部署,為集群提供協調服務。

NameNode:采用QJMHA方式部署,選擇兩臺服務器部署NameNode,選擇三臺服務器部署JournalNode。

HBase:配置兩臺Hmaster,分別為主備,主備倒換借助Zookeeper實現。

ResourceManager:采用HA的方式部署。YARN依賴于HDFS運行,故部署時可選擇將ResourceManager與HDFSNameNode合設、將NodeMamager與DataNode合設的方式。

業務及管理數據庫:采用分布式數據庫實現,一般選擇三臺機器作分布式數據庫集群的部署。

HIVE、ZHD-Manager:分別配置兩臺作為主備。

了解到該銀行的業務主要分為普通業務和重點業務,因此我們又必須考慮到數據和業務的安全性,為降低彼此的影響,需要進行物理隔離。我們基于此將整個機群設計為由一個大集群和若干小集群組成,大集群用于進行基礎數據的清洗等ETL任務,再將處理后的數據導入到小集群中進行處理,由小集群專享該數據。一般來說一個集群都自帶一套管理門戶,但這樣會造成維護使用上的復雜,所以為了降低部署成本和維護復雜性,就要采用單個門戶管理多個集群的方式。

另外,一般來說在實際部署時整套系統環境又要分為生產環境和測試環境。其中生產環境僅僅用于實際運營,承載真實業務數據和業務應用;測試環境用于各種必要的功能驗證和性能測試等,包括應用在上線前的功能驗證。

如把兩個環境合用,將帶來很多不確定性,測試環境容易對生產環境造成干擾,影響生產環境正常業務的提供,甚至測試環境中不成熟的應用和業務運行時可能對環境造成破壞性的影響。因此對生產環境和測試環境進行物理隔離,兩者獨立運行,互不干擾,防止因硬件資源的占用或者搶奪對運行造成不必要的影響。保證系統運行的安全和資源的有效利用,進一步保障銀行的安全生產。

解決了生產測試可能造成的互相干擾的問題,接下來我們還要考慮各種不同類型應用的部署和運行。在Z銀行的應用場景中,大數據平臺上運行的應用分為在線應用和離線應用兩大類。作為大數據平臺,就必須要對在線應用和離線應用的運行提供基本的運行規劃,為應用的部署提供依據,因為不用的應用在同一套物理集群上部署運行時,同樣會出現資源競爭的情形。

1)不同應用所用資源的隔離,解決在線類應用和離線類應用在運行時的資源爭搶問題。

對于目前的業務場景,MapReduce任務、Hive為離線應用,HBase服務為在線應用,提供實時查詢服務。部署方式如下圖所示:

36大數據

在線應用與離線應用資源隔離

集群中的數據都是基于HDFS進行存放的,因此對于屬于同一個集群內的應用的數據隔離,可通過設置不同的HDFS目錄存放的方式實現。不同應用屬于不同的用戶,不同的應用使用不同的目錄,然后通過對目錄進行權限配置的方式進行隔離和共享。

2)不用應用運行時計算資源的隔離考慮,解決運行時內存和CPU的調度問題。主要包括如下兩種手段:

  • YARN自動均衡
  • 通過調度器指定

由于MapReduce任務運行時往往會占用大量的CPU和磁盤資源,為保證自身或者其他任務的正常執行,對MapReduce也要進行隔離。

對于普通MapReduce任務的隔離通過YARN自身的機制完成。在YARN中,資源管理由ResourceManager和NodeManager共同完成,其中ResourceManager中的調度器負責資源的分配,NodeManager負責資源的供給和隔離。ResourceManager將某個NodeManager上資源分配給任務后,NodeManager按照要求為任務提供相應的資源,保證這些資源具有獨占性,為任務運行提供基礎的保證。

另外MapReduce任務實時性要求不高,可通過為各個MapReduce任務單獨規劃運行時間段的方式來輔助隔離,避免多個應用同時運行時出現資源搶占的情況。其中對于任務的執行時間,需要通過先在測試環境中運行采集,再通過等比例推算評估的方式獲得,防止出現某個MapReduce任務的實際運行時間超出了配置時間。

而對于某些用戶認為重要或者特殊(由用戶自主決定)的MapReduce任務的隔離可通過設置專用調度器的方式完成。為應用設定調度隊列,并為隊列指定專屬服務器,通過將MapReduce任務指定在某臺服務器上運行的方式達到隔離的目的。而其他普通的MapReduce應用則無權使用該專屬服務器的資源。

3)對不同功能的在線服務數據進行隔離,保證重點在線應用的正常運行。

需要單獨規劃HBase集群,且該集群基于一套獨立的HDFS運行,從物理上和邏輯上和其他在線集群都進行隔離。該HBase集群的數據來源問題可通過兩種方式解決:接口程序或者基于distcp的集群拷貝。

對于少量的數據遷移可通過接口程序實現,對于大量的數據遷移可通過distcp的方式進行。后者需要先在離線應用服務集群內對數據進行處理,生成HFile文件,再通過distcp將文件拷貝到在線應用集群,再在在線應用集群內執行數據導入到HBase的操作。在線應用服務再基于導入的數據對外提供實時查詢服務。如下圖所示:

2

另外由于MapReduce任務在運行時對磁盤、CPU等要求較高,當MapReduce的Job和HBase等部署在一臺服務器運行時,容易對HBase服務造成影響(響應很慢,長時間等待)。所以在同一套HDFS內,在服務器比較充足的情形下,也建議對MapReduce任務的運行和HBase服務也需要進行隔離。將HBase服務指定在集群中的某些服務器上運行,MapReduce任務指定在集群中的其他服務器上運行。通過部署不同的基礎服務在不同的服務器上的方式來實現。

為了節省資源,我們提供了一種基于一套HDFS來實現對多套HBase支撐的實現,不用的HBase共用一套Zookeeper,部署方式見下圖:

3

所有HBase集群基于同一套zookeeper實現,每個集群包含各自的HMaster和Region Server,可對外獨立提供在線查詢服務。通過調用HBase java api實現HBase客戶端訪問集群內的HBase集群。由于使用相同的HDFS存儲,為了防止相同的表存儲空間重疊,不同的HBase集群使用不同的存儲路徑。同時為了區分Zookeeper中存儲的rootdnode路徑,也需要修改配置文件。不同的HBase集群對外提供不同類型的數據查詢服務。對于同一個HBase服務,可通過對列和表的所屬權配置實現對HBase的訪問控制。

實際部署

Z銀行的實際部署如下圖所示:

4

大數據平臺上運行的應用分為在線應用(HBase服務)和離線應用(MapReduce服務)兩大類。Z銀行大數據平臺分為基礎集群和在線集群。

基礎集群用于接收外部導入的數據,并對數據進行加工處理,主要通過MapReduce任務對數據進行基礎加工。

在線集群是為保證重點在線應用的正常運行而單獨規劃的區域,第一期是由歷史數據平臺1個HBase集群構成,后期再擴展個人綜合對賬單系統以及反洗錢風險管理系統。

基礎集群和在線集群相互關系說明如下:

每個集群都基于一套獨立的HDFS運行,這樣從物理上和邏輯上與其他集群都進行隔離。在線集群的數據都來源于基礎集群,依靠本地萬兆網實現高效的傳輸。在線應用服務基于導入的數據對外提供實時查詢服務。

基礎集群以及歷史數據平臺集群各自基于一套Zookeeper實現,每個集群包含各自的Master和RegionServer。

整個集群中部署一套CBDP-Manager用于實現集群的管理,并且該Manager單獨使用一套單機MariaDB實現管理數據、告警數據、性能數據的存儲。

交付效果

整套大數據平臺在部署后一直平穩運行,效果得到客戶的一致稱贊,并成為客戶的集團內的典型案例。在后續的擴容中,也是非常的方便簡潔,在短時間內即完成了擴容升級。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢