雲上執行 Hadoop 會面臨哪些挑戰

2021-09-23 07:29:17 字數 1664 閱讀 8409

在雲上執行hadoop,很多人擔心效能。因為一提到虛擬化就會有人想到有成本,往往得出有偏見的結論-在雲上執行肯定比物理機器上執行效能差。如果單獨把10臺物理機虛擬化跑hadoop,這肯定是有部分效能的開銷的。但是如果在公共雲上,情況就不是這樣了。因為公共雲虛擬化的開銷最終是由平台方來承擔的,其一是平台方採購機器有規模優勢,其二平台方可以在保證虛擬機器效能的情況超賣部分資源。

平台賣給使用者8core32g的虛擬機器就保證有這個規格的能力的。結合雲上的彈性優勢,企業的總體成本是會下降的。

在雲上執行hadoop對平台方還是面臨一些挑戰的,下面主要講述這些挑戰及平台方怎麼解決的。

雲上hadoop的挑戰-shuffle

shuffle分為push模式,pull模式。push模式就是直接通過網路傳送到下乙個節點,比如:storm、flink。pull模式就是資料先儲存在本地,再啟動下乙個節點拉取資料,比如:hadoop mr、spark。

在push模式下,主要瓶頸點是網路。在一般的雲環境中,網路跟線下沒有太多的區別,可以滿足需求。

在pull模式下,主要瓶頸點是磁碟。在雲環境中,會提供本地磁碟或者用sdd加速的方案。如下:

另外:根據spark社群的報告,在機器學習等很多場景下,瓶頸點現在是cpu了

雲上hadoop的挑戰-資料本地化

資料本地化含義是分析時,把計算移動到資料節點的。如果計算儲存分離,則存在資料放在oss中,需要從oss遠端拉取資料。一般情況下,認為這樣會有效能問題。

當前,網路的頻寬發展非常快:

整體來講,會隨著頻寬的增加、業務場景的實時化、多元化,資料本地化不是必須的。

雲上hadoop的挑戰-自動化運維

作業的管理、任務編排、監控、報警這些基本功能都還好。hadoop本身非常複雜,如果hadoop本身出現點什麼問題,則會影響作業的執行。

這些問題包括但是不僅限於:

我們需要自動化診斷這些問題並在使用者、平台的共同參與下把這些問題解決。

雲上hadoop的挑戰-專家建議

是否需要擴容

hive sql,可以給sql評分,給出最優寫法

分析儲存,比如:指明是否需要壓縮;小檔案是否過多,是否需要合併;訪問記錄分析,是否可以把冷資料歸檔處理

分析執行時各種job統計資訊,如:job的map時間是否過小,執行時reduce是否資料傾斜,單個job是否有一些引數調整

這個主要是針對儲存、作業調優的,優化效能之類的。在一般企業內部是沒有這套系統的。雲上可以做成一套這樣的系統,幫助廣大的中小企業

構建私有雲,主要面臨哪些挑戰?

預算。私有雲的構建成本可能比較高昂,所以你必須考慮清楚投資回報率的上限和下限。與公有雲相整合。構建了私有雲之後,如果你還需要公有雲服務的話,也可以轉向一種混合模式。這會牽涉到如何保障系統的安全,以及如何在公有雲和私有雲中核實你能夠執行的工作負載。規模。私有雲通常是不具備大規模公有雲提供商所提供的規模...

目前雲儲存,主要面臨哪些問題?

雲儲存目前主要面臨的問題有 寬頻瓶頸 安全性 可用性和基礎設施 1.寬頻瓶頸。考慮到過去20年中,寬頻提公升和資料增長的差距更為惡化,寬頻很有可能是阻礙雲儲存被當做標準商業化應用普及的最大障礙。對於典型的個人消費者而言,網際網路寬頻從28.8kmodem提公升至5mbps左右,提公升幅度超過170倍...

hadoop 上執行java程式

1 借助eclipse 在eclipse下面搭建hadoop開發環境的相關問題及其解決詳見 有乙個問題是 好像通過eclipse提交的程式並沒有在集群上執行,而是在本機上執行了。2 在命令下執行 首先需要將程式打成jar包,我用的eclipse寫程式,也就用eclipse打包了,如果工程中包含第三方...