本篇內(nèi)容主要講解“Hadoop HDFS基本結(jié)構(gòu)是怎樣的”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Hadoop HDFS基本結(jié)構(gòu)是怎樣的”吧!
創(chuàng)新互聯(lián)是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,遂寧托管服務(wù)器,海外高防服務(wù)器,服務(wù)器機(jī)柜,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。
分布式文件系統(tǒng),高吞吐量,延遲較大, 主要結(jié)構(gòu)包括namenode 和datanode節(jié)點(diǎn)。
問(wèn)題:
1. namenode單點(diǎn)故障
2. datenode 通過(guò)協(xié)議進(jìn)行副本同步
3. 為解決namenode單點(diǎn)故障問(wèn)題,增加standby節(jié)點(diǎn),如何進(jìn)行同步???。 事實(shí)上Secondary Namenode并不能被用作Namenode它的主要作用是定期的將Namespace鏡像與操作日志文件(edit log)合并,以防止操作日志文件(edit log)變得過(guò)大。通常,Secondary Namenode 運(yùn)行在一個(gè)單獨(dú)的物理機(jī)上,因?yàn)楹喜⒉僮餍枰加么罅康腃PU時(shí)間以及和Namenode相當(dāng)?shù)膬?nèi)存。輔助Namenode保存著合并后的Namespace鏡像的一個(gè)備份,萬(wàn)一哪天Namenode宕機(jī)了,這個(gè)備份就可以用上了。雖然不完全是個(gè)namenode的備份,更確切的是個(gè)輔助節(jié)點(diǎn))周期性將元數(shù)據(jù)節(jié)點(diǎn)的命名控件鏡像文件和修改日志合并
4. 如何進(jìn)行switchover? 依靠zookeeper,一方面負(fù)責(zé)活動(dòng)點(diǎn)選擇,一方面負(fù)責(zé)錯(cuò)誤校驗(yàn)。也可以用作分布式鎖,具體稍后研究zookeeper。
解答:
namenode解決單點(diǎn)故障有兩個(gè)方案,一個(gè)是利用本身提供的secondary namenode,但是有延遲,僅僅是備份,會(huì)造成數(shù)據(jù)丟失;第二種方法是同步并原子性寫入本地硬盤的同時(shí),也寫入到一個(gè)NFS服務(wù)器。(NFS服務(wù)器掛掉的概率暫時(shí)不考慮)
Zookeeper的核心是一個(gè)精簡(jiǎn)的文件系統(tǒng),它的原語(yǔ)操作是一組豐富的構(gòu)件(building block),可用于實(shí)現(xiàn)很多協(xié)調(diào)數(shù)據(jù)結(jié)構(gòu)和協(xié)議,包括分布式隊(duì)列、分布式鎖和一組同級(jí)節(jié)點(diǎn)中的“領(lǐng)導(dǎo)者選舉”(leader election)。
Zookeeper實(shí)現(xiàn)的是Paxos算法。Zookeeper集群?jiǎn)?dòng)后自動(dòng)進(jìn)行l(wèi)eader selection,投票選出一臺(tái)機(jī)器作為L(zhǎng)eader,其他的都是Follower。通過(guò)heartbeat的機(jī)制,F(xiàn)ollower從Leader獲取命令或者消息,同步自己的數(shù)據(jù),和Leader保持一致。為了保證數(shù)據(jù)的一致性,只有當(dāng)半數(shù)以上的Follower的狀態(tài)和Leader成功同步了之后,才認(rèn)為這次數(shù)據(jù)更新是成功的。為了選舉方便,Zookeeper集群數(shù)目是奇數(shù)
到此,相信大家對(duì)“Hadoop HDFS基本結(jié)構(gòu)是怎樣的”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!