溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hadoop不適用的場景有哪些

發(fā)布時(shí)間:2021-12-10 10:04:51 來源:億速云 閱讀:270 作者:iii 欄目:云計(jì)算

這篇文章主要講解了“Hadoop不適用的場景有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Hadoop不適用的場景有哪些”吧!

1、MR和關(guān)系型數(shù)據(jù)

MR和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫處理的數(shù)據(jù)是不同,傳統(tǒng)關(guān)系型數(shù)據(jù)庫處理的是較結(jié)構(gòu)化數(shù)據(jù),對于半結(jié)構(gòu)化和非機(jī)構(gòu)話數(shù)據(jù)處理的還不是很好,MR正好對關(guān)系型數(shù)據(jù)不擅長領(lǐng)域做了補(bǔ)充,MR輸入的鍵值并不是數(shù)據(jù)的固有屬性,而是由分析數(shù)據(jù)人員來選擇的,就目前看來他們是互補(bǔ)的關(guān)系,MR通過HIVE實(shí)現(xiàn)了hadoop固有的SQL,不過mr的適應(yīng)性更強(qiáng)一些,不過隨著以后的發(fā)展關(guān)系型數(shù)據(jù)庫也會慢慢不斷發(fā)展的。另外一個(gè)值得注意的就是MR是基于數(shù)據(jù)流的數(shù)據(jù)處理,處理的是一種非結(jié)構(gòu)化的數(shù)據(jù),比SQL結(jié)構(gòu)性數(shù)據(jù)更具有適用性,是這種編程更加具有伸縮性。

2、MR的核心是實(shí)現(xiàn)數(shù)據(jù)本地化,由于MR是基于數(shù)據(jù)流式處理,所以帶寬資源就顯得尤為重要。

3、由于MR采用的是無共享的框架,各節(jié)點(diǎn)之間都是相對獨(dú)立的,所以MR可以檢測出節(jié)點(diǎn)失敗的情況,在MR過程中,R階段是要以M的結(jié)果為輸入的,所以如果R沒有獲取到M的結(jié)果的時(shí)候會重新執(zhí)行。在MR過程中,R的output輸出目錄是不能存在的,否則無法執(zhí)行,一個(gè)長時(shí)間執(zhí)行后的結(jié)果被覆蓋是一件很懊惱的事情。

4、MR過程中有兩個(gè)很重要的角色JobTracker和TaskTracker,可以打個(gè)比喻,J相當(dāng)于管理員(負(fù)責(zé)分配任務(wù)),管理者一批員工T(負(fù)責(zé)執(zhí)行任務(wù)),員工執(zhí)行任務(wù)要從J那邊得到任務(wù)編號才可以進(jìn)行任務(wù)執(zhí)行。

5、hadoop將輸入數(shù)據(jù)分成等長的數(shù)據(jù)分片,每一個(gè)分片都是一個(gè)map任務(wù),并由用戶自定義的函數(shù)MR來處理分片中的的每一條記錄。

6、決定整個(gè)作業(yè)時(shí)間的主要因素分為兩種1、管理分片的時(shí)間2、map創(chuàng)建任務(wù)的時(shí)間

7、數(shù)據(jù)本地優(yōu)化,各節(jié)點(diǎn)執(zhí)行map,各個(gè)節(jié)點(diǎn)存有的數(shù)據(jù)分片越趨向于HDFS分塊可以獲得最佳性能,這樣確保了單個(gè)節(jié)點(diǎn)的最大輸出塊。輸出塊的大小根據(jù)硬件和集群的實(shí)際情況而定,磁盤的讀取量。R階段并不具備本地化的優(yōu)勢,他的輸入通常是來自M的結(jié)果,因此需要通過網(wǎng)絡(luò)進(jìn)行傳輸發(fā)送到任務(wù)R節(jié)點(diǎn)上,這里就涉及到帶寬問題了,因?yàn)槲覀儜?yīng)該盡量減少M(fèi)向R的輸入,通過一些其他的手段如COMBINER或者并行輸入或者通過壓縮數(shù)據(jù)流的手段等。

8、hadoop目前不適用的場景 1、低時(shí)間延遲的 可以考慮Storm 或者Spark 2、大量小文件,主要原因是所有的數(shù)據(jù)塊元數(shù)據(jù)信息都存放在namenode文件夾下,這樣大量的小文件會造成namenode文件內(nèi)存被占用 3、多用戶寫入,任意修改的,因?yàn)閔adoop設(shè)計(jì)的初衷是為了一次寫入,多次讀取的。

9、HDFS的數(shù)據(jù)塊大于磁盤的塊是為了減少尋址。

10、namenode管理著所有datanode的域名空間,他維護(hù)著文件系統(tǒng)及整棵樹的文件目錄,這些信息被永久的保存在本地磁盤上,namenode也記錄著各個(gè)節(jié)點(diǎn)的數(shù)據(jù)信息,但是他并不保存在本地磁盤上,隨著每次重啟都要重構(gòu)節(jié)點(diǎn)信息。更要命的是namenode是單節(jié)點(diǎn),一個(gè)集群只有一個(gè)namenode所以一旦namenode出現(xiàn)問題,整個(gè)集群癱瘓了,如果使用keepalived的話,可以作為輔助節(jié)點(diǎn),但是難免還是會有數(shù)據(jù)的丟失。據(jù)說hadoop2.x已經(jīng)解決了這個(gè)問題。

11、HDFS客戶端通過DistributedFileSystem 獲得一個(gè)FsDataInputStream對象,從na

menode那里獲取到datanode的文件位置信息。DFSoutputStream處理datanode和namenode之間的通信。 

12、一致模型:在讀取數(shù)據(jù)的時(shí)候,F(xiàn)SDdataoutputstream得到的數(shù)據(jù)是按塊來顯示的就是說,塊在讀取的時(shí)候不能立即顯示需要等該塊讀完了,這樣就造成了數(shù)據(jù)緩存,一旦集群發(fā)生故障數(shù)據(jù)塊丟失生產(chǎn)環(huán)境下是不允許的,HDFS提供了一個(gè)方法來強(qiáng)制所有的緩存與數(shù)據(jù)節(jié)點(diǎn)保持同步即對FSDataOutPutStream調(diào)用sync(),能保證到目前為止寫入數(shù)據(jù)的一致性,不過這樣會對應(yīng)用增加一些額外的性能開銷,所以引用該方法還需要根據(jù)集群性能的均衡而定。

13、并行復(fù)制,典型的應(yīng)用就是兩個(gè)HDFS之間的傳輸,該方法可以從hadoop文件系統(tǒng)復(fù)制大量的數(shù)據(jù),也可以將大量數(shù)據(jù)從hadoop復(fù)制出來。這里我們可以優(yōu)化盡量的減少M(fèi)AP構(gòu)建,盡量讓他多復(fù)制。

感謝各位的閱讀,以上就是“Hadoop不適用的場景有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Hadoop不適用的場景有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI