在當(dāng)今的大數(shù)據(jù)時代,大數(shù)據(jù)平臺的搭建也成為互聯(lián)網(wǎng)行業(yè)的熱門技術(shù)課題。中培偉業(yè)《大數(shù)據(jù)平臺搭建及高性能計算最佳實踐》專家蔣老師結(jié)合相關(guān)事件,在這里介紹了大數(shù)據(jù)平臺搭建的常見步驟及相關(guān)注意事項。
1. linux系統(tǒng)安裝
一般使用開源版的Redhat系統(tǒng)--CentOS作為底層平臺。為了提供穩(wěn)定的硬件基礎(chǔ),在給硬盤做RAID和掛載數(shù)據(jù)存儲節(jié)點的時,需要按情況配置。例如,可以選擇給HDFS的namenode做RAID2以提高其穩(wěn)定性,將數(shù)據(jù)存儲與操作系統(tǒng)分別放置在不同硬盤上,以確保操作系統(tǒng)的正常運(yùn)行。
2. 分布式計算平臺/組件安裝
目前國內(nèi)外的分布式系統(tǒng)的大多使用的是Hadoop系列開源系統(tǒng)。Hadoop的核心是HDFS,一個分布式的文件系統(tǒng)。在其基礎(chǔ)上常用的組件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。
3. 數(shù)據(jù)導(dǎo)入
前面提到,數(shù)據(jù)導(dǎo)入的工具是Sqoop。用它可以將數(shù)據(jù)從文件或者傳統(tǒng)數(shù)據(jù)庫導(dǎo)入到分布式平臺『一般主要導(dǎo)入到Hive,也可將數(shù)據(jù)導(dǎo)入到Hbase』。
4. 數(shù)據(jù)分析
數(shù)據(jù)分析一般包括兩個階段:數(shù)據(jù)預(yù)處理和數(shù)據(jù)建模分析。
(1)數(shù)據(jù)預(yù)處理是為后面的建模分析做準(zhǔn)備,主要工作時從海量數(shù)據(jù)中提取可用特征,建立大寬表。這個過程可能會用到Hive SQL,Spark QL和Impala。
(2)數(shù)據(jù)建模分析是針對預(yù)處理提取的特征/數(shù)據(jù)建模,得到想要的結(jié)果。如前面所提到的,這一塊最好用的是Spark。常用的機(jī)器學(xué)習(xí)算法,如樸素貝葉斯、邏輯回歸、決策樹、神經(jīng)網(wǎng)絡(luò)、TFIDF、協(xié)同過濾等,都已經(jīng)在ML lib里面,調(diào)用比較方便。
5. 結(jié)果可視化及輸出API
可視化一般式對結(jié)果或部分原始數(shù)據(jù)做展示。一般有兩種情況,行數(shù)據(jù)展示,和列查找展示。在這里,要基于大數(shù)據(jù)平臺做展示,會需要用到ElasticSearch和Hbase。Hbase提供快速『ms級別』的行查找。 ElasticSearch可以實現(xiàn)列索引,提供快速列查找。
6. 平臺搭建主要問題:
(1)穩(wěn)定性 Stability
理論上來說,穩(wěn)定性是分布式系統(tǒng)最大的優(yōu)勢,因為它可以通過多臺機(jī)器做數(shù)據(jù)及程序運(yùn)行備份以確保系統(tǒng)穩(wěn)定。但也由于大數(shù)據(jù)平臺部署于多臺機(jī)器上,配置不合適,也可能成為最大的問題。 曾經(jīng)遇到的一個問題是Hbase經(jīng)常掛掉,主要原因是采購的硬盤質(zhì)量較差。硬盤損壞有時會到導(dǎo)致Hbase同步出現(xiàn)問題,因而導(dǎo)致Hbase服務(wù)停止。由于硬盤質(zhì)量較差,隔三差五會出現(xiàn)服務(wù)停止現(xiàn)象,耗費(fèi)大量時間。結(jié)論:大數(shù)據(jù)平臺相對于超算確實廉價,但是配置還是必須高于家用電腦的。
(2)可擴(kuò)展性 Scalability
如何快速擴(kuò)展已有大數(shù)據(jù)平臺,在其基礎(chǔ)上擴(kuò)充新的機(jī)器是云計算等領(lǐng)域應(yīng)用的關(guān)鍵問題。在實際2B的應(yīng)用中,有時需要增減機(jī)器來滿足新的需求。如何在保留原有功能的情況下,快速擴(kuò)充平臺是實際應(yīng)用中的常見問題。
想了解更多IT資訊,請訪問中培偉業(yè)官網(wǎng):中培偉業(yè)