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