建立大資料平台

2023-01-25 01:30:05 字數 2423 閱讀 9320

親身參與,作為主力完成了乙個資訊大資料分析平台。中間經歷了很多問題,算是有些經驗,因而作答。

整體而言,大資料平台從平台部署和資料分析過程可分為如下幾步:

1、linux系統安裝

一般使用開源版的redhat系統–centos作為底層平台。為了提供穩定的硬體基礎,在給硬碟做raid和掛載資料儲存節點的時,需要按情況配置。例如,可以選擇給hdfs的namenode做raid2以提高其穩定性,將資料儲存與作業系統分別放置在不同硬碟上,以確保作業系統的正常執行。

2、分布式計算平台/元件安裝

目前國內外的分布式系統的大多使用的是hadoop系列開源系統。hadoop的核心是hdfs,乙個分布式的檔案系統。在其基礎上常用的元件有yarn、zookeeper、hive、hbase、sqoop、impala、elasticsearch、spark等。

先說下使用開源元件的優點:

1)使用者眾多,很多bug可以在網上找的答案(這往往是開發中最耗時的地方)。

2)開源元件一般免費,學習和維護相對方便。

3)開源元件一般會持續更新,提供必要的更新服務『當然還需要手動做更新操作』。

4)因為**開源,若出bug可自由對原始碼作修改維護。

再簡略講講各元件的功能。分布式集群的資源管理器一般用yarn,『全名是yet another resource negotiator』。常用的分布式資料資料『倉』庫有hive、hbase。

hive可以用sql查詢『但效率略低』,hbase可以快速『近實時』讀取行。外部資料庫匯入匯出需要用到sqoop。sqoop將資料從oracle、mysql等傳統資料庫匯入hive或hbase。

zookeeper是提供資料同步服務,yarn和hbase需要它的支援。

impala是對hive的乙個補充,可以實現高效的sql查詢。elasticsearch是乙個分布式的搜尋引擎。針對分析,目前最火的是spark『此處忽略其他,如基礎的mapreduce 和 flink』。

spark在core上面有ml lib,spark streaming、spark ql和graphx等庫,可以滿足幾乎所有常見資料分析需求。

值得一提的是,上面提到的元件,如何將其有機結合起來,完成某個任務,不是乙個簡單的工作,可能會非常耗時。

3、資料匯入

前面提到,資料匯入的工具是sqoop。用它可以將資料從檔案或者傳統資料庫匯入到分布式平台『一般主要匯入到hive,也可將資料匯入到hbase』。

4、資料分析

資料分析一般包括兩個階段:資料預處理和資料建模分析。

資料預處理是為後面的建模分析做準備,主要工作時從海量資料中提取可用特徵,建立大寬表。這個過程可能會用到hive sql,spark ql和impala。

資料建模分析是針對預處理提取的特徵/資料建模,得到想要的結果。如前面所提到的,這一塊最好用的是spark。常用的機器學習演算法,如樸素貝葉斯、邏輯回歸、決策樹、神經網路、tfidf、協同過濾等,都已經在ml lib裡面,呼叫比較方便。

5、結果視覺化及輸出api

視覺化一般式對結果或部分原始資料做展示。一般有兩種情況,行資料展示,和列查詢展示。在這裡,要基於大資料平台做展示,會需要用到elasticsearch和hbase。

hbase提供快速『ms級別』的行查詢。 elasticsearch可以實現列索引,提供快速列查詢。

平台搭建主要問題:

1、穩定性 stability

理論上來說,穩定性是分布式系統最大的優勢,因為它可以通過多台機器做資料及程式執行備份以確保系統穩定。但也由於大資料平台部署於多台機器上,配置不合適,也可能成為最大的問題。 曾經遇到的乙個問題是hbase經常掛掉,主要原因是採購的硬碟質量較差。

硬碟損壞有時會到導致hbase同步出現問題,因而導致hbase服務停止。由於硬碟質量較差,隔三差五會出現服務停止現象,耗費大量時間。結論:

大資料平台相對於超算確實廉價,但是配置還是必須高於家用電腦的。

2、可擴充套件性 scalability

如何快速擴充套件已有大資料平台,在其基礎上擴充新的機器是雲計算等領域應用的關鍵問題。在實際2b的應用中,有時需要增減機器來滿足新的需求。如何在保留原有功能的情況下,快速擴充平台是實際應用中的常見問題。

上述是自己專案實踐的總結。整個平台搭建過程耗時耗力,非一兩個人可以完成。乙個小團隊要真正做到這些也需要耗費很長時間。

目前國內和國際上已有多家公司提供大資料平台搭建服務,國外有名的公司有cloudera,hortonworks,mapr等,國內也有華為、明略資料、星環等。另外有些公司如明略資料等還提供一體化的解決方案,尋求這些公司合作對於入門級的大資料企業或沒有大資料分析能力的企業來說是最好的解決途徑。

對於一些本身體量較小或者目前資料量積累較少的公司,個人認為沒有必要搭建這一套系統,暫時先租用aws和阿里雲就夠了。對於資料量大,但資料分析需求較簡單的公司,可以直接買tableau,splunk,hp vertica,或者ibm db2等軟體或服務即可。

以上是我從事大資料以來的一些認識。管見所及,可能有所疏漏,歡迎補充。

簡介摘要 大資料時代的航運資訊平台

大資料時代的航運資訊平台 專著摘要 該書是對航運資訊化科學進行系統論述的第一次嘗試。在大資料時代,傳統產業在網際網路的滲透下漸漸的失去原有的邊界,原本看似牢不可破的行業門檻輕易地就被網際網路平台取代,例如出版業 家電業 旅遊業等。航運業作為傳統產業,也面臨著來自網際網路和平台經濟前所未有的衝擊,作者...

多維大資料平台設計方案0113 A

大資料基礎平台承載了公安資料的管理,為上層公安應用提供資料支撐。全文檢索引擎是分布式的全文檢索引擎,可提供對實體,關係,文件的全庫實時檢索。基於各類匯聚 整合形成的資料資源提供各類資料查詢應用,系統為提供實體 關係 檔案等全文查詢,將查詢結果的明細級資料的顯示,並不涉及具體資料型態的圖形化應用,相關...

駕馭大資料

龐大的資訊流現在有了新的約束規則。pb 級資料世界內發生了哪些變化?大資料將如何改變您的做事方式?海量的資訊充斥著 it 世界。這些資訊從全球 43 億部 和 20 億位網際網路使用者生成的資料中流出,與 300 億個 rfid 標記和數百顆人造衛星和每秒都在不斷傳送的更多訊號融合在一起。當然,沒有...