
揭秘中興大數(shù)據(jù)在銀行領(lǐng)域的系統(tǒng)部署
本文首度揭秘了中興通訊的大數(shù)據(jù)平臺系統(tǒng)DAP在國內(nèi)Z銀行的部署過程。
大數(shù)據(jù)是一個開放的平臺,當(dāng)前大部分系統(tǒng)是基于互聯(lián)網(wǎng)公司的開源的產(chǎn)品而生,銀行業(yè)是不能完全照搬互聯(lián)網(wǎng)原生技術(shù)模式,銀行業(yè)在安全性、穩(wěn)定性有其特殊要求,對高可用、安全私密有更高的需求,新的大數(shù)據(jù)技術(shù)平臺必須與傳統(tǒng)行業(yè)的企業(yè)級特性相融合。
為了保證穩(wěn)定性,從硬件到軟件都需要考慮高可用問題。
Z銀行的大數(shù)據(jù)業(yè)務(wù)場景如下:
綜合上述業(yè)務(wù)場景,同步考慮金融行業(yè)的數(shù)據(jù)高安全性,服務(wù)高穩(wěn)定性,我們進行規(guī)劃設(shè)計。
Z銀行需要進行海量數(shù)據(jù)的存儲,則必須要部署HDFS,且該組件是其他組件的基礎(chǔ)。同時用戶需要對數(shù)據(jù)進行ETL處理,則MapReduce(YARN)也同樣要部署。對外進行在線查詢離不開HBase,因為HBase也需要進行部署。
綜上,需要部署的組件有Zookeeper、HDFS、HBase和MapReduce(YARN)。
金融業(yè)的特殊性要求我們必須考慮到整體服務(wù)的高穩(wěn)定性,所以需要考慮組件的高可用實現(xiàn)。對于各個組件的高可用實現(xiàn),我們分別采用如下的實現(xiàn)方式:
Zookeeper:選擇三臺服務(wù)器部署,為集群提供協(xié)調(diào)服務(wù)。
NameNode:采用QJMHA方式部署,選擇兩臺服務(wù)器部署NameNode,選擇三臺服務(wù)器部署JournalNode。
HBase:配置兩臺Hmaster,分別為主備,主備倒換借助Zookeeper實現(xiàn)。
ResourceManager:采用HA的方式部署。YARN依賴于HDFS運行,故部署時可選擇將ResourceManager與HDFS的 NameNode合設(shè)、將NodeMamager與DataNode合設(shè)的方式。
業(yè)務(wù)及管理數(shù)據(jù)庫:采用分布式數(shù)據(jù)庫實現(xiàn),一般選擇三臺機器作分布式數(shù)據(jù)庫集群的部署。
HIVE、ZHD-Manager:分別配置兩臺作為主備。
了解到該銀行的業(yè)務(wù)主要分為普通業(yè)務(wù)和重點業(yè)務(wù),因此我們又必須考慮到數(shù)據(jù)和業(yè)務(wù)的安全性,為降低彼此的影響,需要進行物理隔離。我們基于此將整個機群設(shè)計為由一個大集群和若干小集群組成,大集群用于進行基礎(chǔ)數(shù)據(jù)的清洗等ETL任務(wù),再將處理后的數(shù)據(jù)導(dǎo)入到小集群中進行處理,由小集群專享該數(shù)據(jù)。一般來說一個集群都自帶一套管理門戶,但這樣會造成維護使用上的復(fù)雜,所以為了降低部署成本和維護復(fù)雜性,就要采用單個門戶管理多個集群的方式。
另外,一般來說在實際部署時整套系統(tǒng)環(huán)境又要分為生產(chǎn)環(huán)境和測試環(huán)境。其中生產(chǎn)環(huán)境僅僅用于實際運營,承載真實業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)應(yīng)用;測試環(huán)境用于各種必要的功能驗證和性能測試等,包括應(yīng)用在上線前的功能驗證。
如把兩個環(huán)境合用,將帶來很多不確定性,測試環(huán)境容易對生產(chǎn)環(huán)境造成干擾,影響生產(chǎn)環(huán)境正常業(yè)務(wù)的提供,甚至測試環(huán)境中不成熟的應(yīng)用和業(yè)務(wù)運行時可能對環(huán)境造成破壞性的影響。因此對生產(chǎn)環(huán)境和測試環(huán)境進行物理隔離,兩者獨立運行,互不干擾,防止因硬件資源的占用或者搶奪對運行造成不必要的影響。保證系統(tǒng)運行的安全和資源的有效利用,進一步保障銀行的安全生產(chǎn)。
解決了生產(chǎn)測試可能造成的互相干擾的問題,接下來我們還要考慮各種不同類型應(yīng)用的部署和運行。在Z銀行的應(yīng)用場景中,大數(shù)據(jù)平臺上運行的應(yīng)用分為在線應(yīng)用和離線應(yīng)用兩大類。作為大數(shù)據(jù)平臺,就必須要對在線應(yīng)用和離線應(yīng)用的運行提供基本的運行規(guī)劃,為應(yīng)用的部署提供依據(jù),因為不用的應(yīng)用在同一套物理集群上部署運行時,同樣會出現(xiàn)資源競爭的情形。
1)不同應(yīng)用所用資源的隔離,解決在線類應(yīng)用和離線類應(yīng)用在運行時的資源爭搶問題。
對于目前的業(yè)務(wù)場景,MapReduce任務(wù)、Hive為離線應(yīng)用,HBase服務(wù)為在線應(yīng)用,提供實時查詢服務(wù)。部署方式如下圖所示:
在線應(yīng)用與離線應(yīng)用資源隔離
集群中的數(shù)據(jù)都是基于HDFS進行存放的,因此對于屬于同一個集群內(nèi)的應(yīng)用的數(shù)據(jù)隔離,可通過設(shè)置不同的HDFS目錄存放的方式實現(xiàn)。不同應(yīng)用屬于不同的用戶,不同的應(yīng)用使用不同的目錄,然后通過對目錄進行權(quán)限配置的方式進行隔離和共享。
2)不用應(yīng)用運行時計算資源的隔離考慮,解決運行時內(nèi)存和CPU的調(diào)度問題。主要包括如下兩種手段:
由于MapReduce任務(wù)運行時往往會占用大量的CPU和磁盤資源,為保證自身或者其他任務(wù)的正常執(zhí)行,對MapReduce也要進行隔離。
對于普通MapReduce任務(wù)的隔離通過YARN自身的機制完成。在YARN中,資源管理由ResourceManager和NodeManager共同完成,其中ResourceManager中的調(diào)度器負(fù)責(zé)資源的分配,NodeManager負(fù)責(zé)資源的供給和隔離。ResourceManager將某個NodeManager上資源分配給任務(wù)后,NodeManager按照要求為任務(wù)提供相應(yīng)的資源,保證這些資源具有獨占性,為任務(wù)運行提供基礎(chǔ)的保證。
另外MapReduce任務(wù)實時性要求不高,可通過為各個MapReduce任務(wù)單獨規(guī)劃運行時間段的方式來輔助隔離,避免多個應(yīng)用同時運行時出現(xiàn)資源搶占的情況。其中對于任務(wù)的執(zhí)行時間,需要通過先在測試環(huán)境中運行采集,再通過等比例推算評估的方式獲得,防止出現(xiàn)某個MapReduce任務(wù)的實際運行時間超出了配置時間。
而對于某些用戶認(rèn)為重要或者特殊(由用戶自主決定)的MapReduce任務(wù)的隔離可通過設(shè)置專用調(diào)度器的方式完成。為應(yīng)用設(shè)定調(diào)度隊列,并為隊列指定專屬服務(wù)器,通過將MapReduce任務(wù)指定在某臺服務(wù)器上運行的方式達(dá)到隔離的目的。而其他普通的MapReduce應(yīng)用則無權(quán)使用該專屬服務(wù)器的資源。
3)對不同功能的在線服務(wù)數(shù)據(jù)進行隔離,保證重點在線應(yīng)用的正常運行。
需要單獨規(guī)劃HBase集群,且該集群基于一套獨立的HDFS運行,從物理上和邏輯上和其他在線集群都進行隔離。該HBase集群的數(shù)據(jù)來源問題可通過兩種方式解決:接口程序或者基于distcp的集群拷貝。
對于少量的數(shù)據(jù)遷移可通過接口程序?qū)崿F(xiàn),對于大量的數(shù)據(jù)遷移可通過distcp的方式進行。后者需要先在離線應(yīng)用服務(wù)集群內(nèi)對數(shù)據(jù)進行處理,生成HFile文件,再通過distcp將文件拷貝到在線應(yīng)用集群,再在在線應(yīng)用集群內(nèi)執(zhí)行數(shù)據(jù)導(dǎo)入到HBase的操作。在線應(yīng)用服務(wù)再基于導(dǎo)入的數(shù)據(jù)對外提供實時查詢服務(wù)。如下圖所示:
另外由于MapReduce任務(wù)在運行時對磁盤、CPU等要求較高,當(dāng)MapReduce的Job和HBase等部署在一臺服務(wù)器運行時,容易對HBase服務(wù)造成影響(響應(yīng)很慢,長時間等待)。所以在同一套HDFS內(nèi),在服務(wù)器比較充足的情形下,也建議對MapReduce任務(wù)的運行和HBase服務(wù)也需要進行隔離。將HBase服務(wù)指定在集群中的某些服務(wù)器上運行,MapReduce任務(wù)指定在集群中的其他服務(wù)器上運行。通過部署不同的基礎(chǔ)服務(wù)在不同的服務(wù)器上的方式來實現(xiàn)。
為了節(jié)省資源,我們提供了一種基于一套HDFS來實現(xiàn)對多套HBase支撐的實現(xiàn),不用的HBase共用一套Zookeeper,部署方式見下圖:
所有HBase集群基于同一套zookeeper實現(xiàn),每個集群包含各自的HMaster和Region Server,可對外獨立提供在線查詢服務(wù)。通過調(diào)用HBase java api實現(xiàn)HBase客戶端訪問集群內(nèi)的HBase集群。由于使用相同的HDFS存儲,為了防止相同的表存儲空間重疊,不同的HBase集群使用不同的存儲路徑。同時為了區(qū)分Zookeeper中存儲的rootdnode路徑,也需要修改配置文件。不同的HBase集群對外提供不同類型的數(shù)據(jù)查詢服務(wù)。對于同一個HBase服務(wù),可通過對列和表的所屬權(quán)配置實現(xiàn)對HBase的訪問控制。
Z銀行的實際部署如下圖所示:
大數(shù)據(jù)平臺上運行的應(yīng)用分為在線應(yīng)用(HBase服務(wù))和離線應(yīng)用(MapReduce服務(wù))兩大類。Z銀行大數(shù)據(jù)平臺分為基礎(chǔ)集群和在線集群。
基礎(chǔ)集群用于接收外部導(dǎo)入的數(shù)據(jù),并對數(shù)據(jù)進行加工處理,主要通過MapReduce任務(wù)對數(shù)據(jù)進行基礎(chǔ)加工。
在線集群是為保證重點在線應(yīng)用的正常運行而單獨規(guī)劃的區(qū)域,第一期是由歷史數(shù)據(jù)平臺1個HBase集群構(gòu)成,后期再擴展個人綜合對賬單系統(tǒng)以及反洗錢風(fēng)險管理系統(tǒng)。
基礎(chǔ)集群和在線集群相互關(guān)系說明如下:
每個集群都基于一套獨立的HDFS運行,這樣從物理上和邏輯上與其他集群都進行隔離。在線集群的數(shù)據(jù)都來源于基礎(chǔ)集群,依靠本地萬兆網(wǎng)實現(xiàn)高效的傳輸。在線應(yīng)用服務(wù)基于導(dǎo)入的數(shù)據(jù)對外提供實時查詢服務(wù)。
基礎(chǔ)集群以及歷史數(shù)據(jù)平臺集群各自基于一套Zookeeper實現(xiàn),每個集群包含各自的Master和RegionServer。
整個集群中部署一套CBDP-Manager用于實現(xiàn)集群的管理,并且該Manager單獨使用一套單機MariaDB實現(xiàn)管理數(shù)據(jù)、告警數(shù)據(jù)、性能數(shù)據(jù)的存儲。
整套大數(shù)據(jù)平臺在部署后一直平穩(wěn)運行,效果得到客戶的一致稱贊,并成為客戶的集團內(nèi)的典型案例。在后續(xù)的擴容中,也是非常的方便簡潔,在短時間內(nèi)即完成了擴容升級。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03