cloudera產(chǎn)品高可用性配置說(shuō)明_第1頁(yè)
cloudera產(chǎn)品高可用性配置說(shuō)明_第2頁(yè)
cloudera產(chǎn)品高可用性配置說(shuō)明_第3頁(yè)
cloudera產(chǎn)品高可用性配置說(shuō)明_第4頁(yè)
cloudera產(chǎn)品高可用性配置說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

簡(jiǎn) 了解高可用性架 高可用性設(shè)計(jì)概 處理HDFS命名空間的更 SharedEdits 的機(jī) 為共享使用 為共享使用QuorumJournal QuorumJournalManager的功 QuorumJournalManager設(shè)計(jì)概 發(fā)送塊位置信息到 和NameNode的客戶(hù)端通 NameNode故障恢 人工故障恢 自動(dòng)故障恢 通過(guò)防止腦裂現(xiàn) FencingoftheSharedEditDirectoryona FencingoftheSharedEditDirectoryin 設(shè)置高可用性的要 設(shè)置高可用 使用QuorumJournalManager進(jìn)行共享.....................................................................................配置CDH其他組件使用HDFS高可用 配置HiveMetastore使用HDFS高可用 配置Hue使用HDFS高可用 配置Impala使用HDFS高可用 參 簡(jiǎn)介ApacheHadoop*集群中通常有多個(gè)用戶(hù)長(zhǎng)時(shí)間地運(yùn)行多個(gè)作業(yè)。這些作業(yè)生成的數(shù)據(jù)分析PrimaryNameNode的單點(diǎn)故障。如果其中一個(gè)服務(wù)失敗,本文將介紹如何為Cloudera產(chǎn)品設(shè)置高可用性。了解高可用性架構(gòu)高可用性功能支持PrimaryNameNodeactive-standby配置。這表示Primary會(huì)被激活。PrimaryNameNode的冗余對(duì)象被稱(chēng)為StandbyNameNode。PrimaryNameNode負(fù)責(zé)集群中的HDFS操作,比如從HDFS文件并寫(xiě)入文件到HDFS。StandbyNamenode的作用是HDFS集群的狀態(tài),以便提供熱備份。熱備份是指高可用性設(shè)計(jì)概述PrimaryNameNode編輯日志到一個(gè)名為SharedEdits的特定 NameNode對(duì)此 構(gòu)。這意味著對(duì)PrimaryNameNode命名空間做出的任何更改都將被到StandbyNameNode名空間。HDFS命名空間的更改旦編輯日志更改成功,PrimaryNameNode的文件系統(tǒng)結(jié)構(gòu)的內(nèi)存中信息將被更新。StandbyNameNode文件系統(tǒng)結(jié)構(gòu)必須和PrimaryNameNode的文件系統(tǒng)結(jié)構(gòu)完全相同。這意味著StandbyNamenode必須對(duì)PrimaryNameNode的編輯日志有讀的權(quán)限。高可用性設(shè)計(jì)使用sharededits 是PrimaryNameNode ,也是StandbyNameNode編輯日志的 NameNode使用編輯日志中的信息來(lái)更新HDFS命名空間的內(nèi)存中信息。此外,StandbyNameNode不可改動(dòng)編輯日志,只能。通過(guò)這些操作,StandbyNameNode確保了HDFS文件結(jié)構(gòu)會(huì)一直和Primary NameNode保持一致。如果發(fā)生故障切換,StandbyNameNode將確認(rèn)在激活前它已所有編輯日志中的信息并更新了命名空間。因此,StandbyNameNode在成為PrimaryNameNode之前,它名空間將保持和PrimaryNameNode同步。Edits 的機(jī)制SharedEdits 必須可被二個(gè)NameNode,且都對(duì)此 外,NameNode必須能不間斷地讀/寫(xiě)此 ,且二個(gè)NameNode都能一直同樣的數(shù)據(jù)。高可用性HDFS支持以下二種NameNodeSharedEdits 網(wǎng)絡(luò)文件共享QuorumJournal為共享使用SharedEdits ,即NFS掛載NameNode的服務(wù)器。你可能只有一個(gè)SharedEdits 則HDFS客戶(hù)端將不能寫(xiě)入數(shù)據(jù)到HDFS。因此,SharedEdits 高可用、高質(zhì)量的NAS設(shè)備。為共享使用QuorumJournalSharedEditsNFS上是可被接受的方式,這通常也符合公司現(xiàn)存的整體架構(gòu)。但是,對(duì)有些組織來(lái)說(shuō),NFS掛載選項(xiàng)可能造成以下問(wèn)題。SharedEditsNAS設(shè)備上。NAS設(shè)備通常很昂貴,而且要求特別的設(shè)備用于和操作。操作、實(shí)施和管理—除了部署HDFS外,NFS掛載還要求額外的配置、和。這致HDFS不能工作。最后,存放SharedEdits 的服務(wù)器或NAS設(shè)備將增加機(jī)構(gòu)對(duì)外部設(shè)備的依賴(lài)性,這一點(diǎn)對(duì)管理和NameNode影響重大。NFS客戶(hù)端有很多缺陷—在Linux操作系統(tǒng)中,NFS客戶(hù)端尚有很多缺陷,且難以配置。而且,每個(gè)客戶(hù)端的具體實(shí)施可能不盡相同,也就是說(shuō),預(yù)測(cè)客戶(hù)端的行為將很,而且每個(gè)客戶(hù)端的行為都不相同。因此,將NFS客戶(hù)端掛載在SharedEdits 致錯(cuò)誤,這將使得NameNode不能讀或?qū)懺?要解決這一問(wèn)題,ApacheHadoop*QuorumJournalManager(QJM)NFS選日志在集群的多個(gè)節(jié)點(diǎn)上。編輯日志的備份將在集群中的另一個(gè)節(jié)點(diǎn)上變?yōu)榭捎谩JM集群中允許失敗且失敗后可繼續(xù)提供服務(wù)的節(jié)點(diǎn)數(shù)量根據(jù)以下算法計(jì)算:(N-1)/2無(wú)需特殊硬件或外部依賴(lài)—NFS通常要求有NAS設(shè)備,這一選項(xiàng)對(duì)硬件或服務(wù)無(wú)特殊要求。QuorumJournalManager可部署在部署了饢的同一標(biāo)準(zhǔn)硬件上。實(shí)際操作中,推薦將QuorumJournalManager安裝在已安裝饢軟件的同一節(jié)點(diǎn)上。QuorumJournalManager可定義集群中的故障恢復(fù)節(jié)點(diǎn)數(shù)。網(wǎng)絡(luò)延遲將影響所有節(jié)點(diǎn)—QuorumJournalManager集群點(diǎn)的編輯日志數(shù)據(jù)的不會(huì)影響對(duì)編輯日志數(shù)據(jù)的讀/寫(xiě)速度。而且,增加要編輯日志數(shù)據(jù)的節(jié)點(diǎn)數(shù)會(huì)在NameNode數(shù)據(jù)時(shí)造成網(wǎng)絡(luò)延遲。QuorumJournalManager應(yīng)用程序包含由數(shù)個(gè)節(jié)點(diǎn)組成的集群,HDFS編輯日志在每個(gè)節(jié)點(diǎn)上。在QuorumJournalManagerJournalNode。QuorumJournalManager使用分編輯HDFS編輯日志。NameNode是消耗QuorumJournalManager資源的客戶(hù)端。每個(gè)NameNode上都運(yùn)行進(jìn)行寫(xiě)入編輯操作。QJM在多數(shù)節(jié)點(diǎn)返回成功消息后,將認(rèn)為寫(xiě)入編輯已成功。一旦集群確認(rèn)編輯完成,編輯日志的某一部分可能只能從QuorumJournalManager集群。因此,StandbyNameNode可使用QJM來(lái)集群中任何節(jié)點(diǎn)上的編輯日志數(shù)據(jù),并確保該數(shù)據(jù)和集群中其他的數(shù)據(jù)完全一致。發(fā)送塊位置信息到塊位置信息。在HDFS中,DataNode負(fù)責(zé)向NameNode周期性報(bào)告在其中的快信息。NameNode不負(fù)責(zé)也不編輯日志的塊位置信息。因此,高可用性設(shè)計(jì)中將通過(guò)改變DataNode報(bào)告塊信息的方式來(lái)完成這一點(diǎn)。在高可用性配置中,PrimaryNameNodeStandbyNameNode的網(wǎng)絡(luò)地址在每個(gè)節(jié)點(diǎn)的NameNode。但是,DataNodePrimaryNameNode發(fā)出NameNode的客戶(hù)端通信HDFSNameNodeactive-active配置模式。這表示在任何時(shí)候,只能有和active狀態(tài)的NameNode通訊,客戶(hù)端將會(huì):NameNode,客戶(hù)端需要嘗試和另一個(gè)NameNode通信。一個(gè)NameNode建立通信。NameNode人工故障恢復(fù)HDFS集群中,管理員可使用以下新命令:hdfshaadmin-failover的子命令。failover子命令有二個(gè)額外的參數(shù)。第一個(gè)參數(shù)是當(dāng)前active狀態(tài)的復(fù)嘗試從PrimaryNameNode切換到StandbyNameNode。自動(dòng)故障恢復(fù)HDFSactive狀態(tài)ZooKeeperApacheZooKeeper(ZK)*是一個(gè)高可用性協(xié)調(diào)服務(wù),用于分布式應(yīng)用程序的狀態(tài)、進(jìn)程和配置數(shù)據(jù)。ZooKeeperquorum是ZooKeeper集群中的一組節(jié)點(diǎn),用來(lái)單個(gè)應(yīng)用程序的數(shù)據(jù)。在高可用性自動(dòng)故障恢復(fù)中,ZooKeeperquorum提供以下功能:探測(cè)NameNode—每個(gè)NameNode的狀態(tài)在ZKquorum都作為持續(xù)進(jìn)程進(jìn)行。如果有NameNode進(jìn)入無(wú)法提供服務(wù)的狀態(tài),則ZK進(jìn)程將失效,并通知另一NameNode此狀態(tài)。如果無(wú)法提供服務(wù)的NameNode之前為active狀態(tài),則其他NameNode將觸發(fā)故障恢復(fù),使自己成為active狀態(tài)的節(jié)點(diǎn)。NameNode—NameNodeactive狀態(tài)的,當(dāng)前activeNameNodeZKquorumNameNode中哪非active或active。activeNameNode進(jìn)入非服務(wù)狀態(tài)(OOS),NameNode觸發(fā)故activeNameNodeStandbyNameNodeZK鎖然后成為狀態(tài)—定期發(fā)送心跳到NameNode,以檢查NameNode是否運(yùn)行狀態(tài)良好。如果NameNode沒(méi)有在一定的時(shí)間內(nèi)返回信息或返回的狀態(tài)為非良好狀態(tài),則ZKFC將認(rèn)為NameNode狀態(tài)錯(cuò)誤。ZooKeeper—ZKFCNameNodeZKFC將在ZKquorum中對(duì)此一個(gè)持續(xù)進(jìn)程。此進(jìn)程表示NameNode狀態(tài)良好且可用。如果NameNodeactiveactiveZK鎖將被釋放。ActiveNameNode—ZKFCNameNode運(yùn)行狀態(tài)良好,且其他ZKFC必須觸發(fā)一個(gè)故障恢復(fù)以使得NameNodeactiveNameNode。通過(guò)防止腦裂現(xiàn)高可用性HDFS不支持雙機(jī)熱配置,也就是說(shuō),同一時(shí)間內(nèi)只有一個(gè)NameNode可成為對(duì)方快速分離。如果HDFS結(jié)構(gòu)分離,則很有可能HDFS上的數(shù)據(jù)會(huì)丟失或損壞。而且,HDFSNameNodeNameNode返回的結(jié)果可能和另一個(gè)NameNode返回的結(jié)果明顯不同。HDFS為例,這意味這二個(gè)NameNode都認(rèn)為自己是active狀態(tài)的節(jié)點(diǎn),其他節(jié)點(diǎn)是StandbyNameNodeHDFS中沒(méi)有數(shù)據(jù)丟失、損壞或不一致,防止腦裂現(xiàn)象在集群中,進(jìn)程用于將工作不正常的服務(wù)孤立起來(lái),以防止該服務(wù)共享資源。在高HDFS中,進(jìn)程發(fā)生在NameNodeactiveNameNode會(huì)驗(yàn)證之前為activeNameNode將不能編輯HDFS命名空間。FencingoftheSharedEditDirectoryonaactiveNameNodeactiveNameNodeactive操作將嘗試找到并終止之前為active狀態(tài)的NameNode服務(wù),從而防止之前為active狀態(tài)的NameNodeSharedEdits FencingoftheSharedEditDirectoryinQJM上的,它不需要額外的或特別的硬件和軟件。在QJM中,NameNode更改編輯日志,當(dāng)NameNode成為active時(shí),QJM將會(huì)被分配一個(gè)號(hào)(epochnumber)。號(hào)同時(shí)在QJM和所有的JournalNode上要生成號(hào),NameNode的QJM從所有的JournalNode上獲取號(hào)。QJM將找出最高的號(hào),加上1,結(jié)果即為新的號(hào)。QJMJN可決定寫(xiě)入者比之前的寫(xiě)入者新還是舊。如對(duì)于另一個(gè)NameNode,被認(rèn)為是新的寫(xiě)入者。QJM通過(guò)以下方式使用號(hào)在NameNode被允許更改編輯日志前,QJM必須已被成功分配號(hào)間第一次被格式化后,第一個(gè)active狀態(tài)的NameNode將被分配號(hào)1。任何故障恢復(fù)都將導(dǎo)致號(hào)的增加。在號(hào)被成功分配給QJM前,QJM必須發(fā)送號(hào)到集群中的所有JournalNode上。多數(shù)JournalNode必須返回一個(gè)消息,標(biāo)明號(hào)已成功收到,否則QJM將不能使用該如果QJM回應(yīng)號(hào)的消息請(qǐng)求,它將這一號(hào)以便日后參考。無(wú)論何時(shí)行對(duì)比。如果請(qǐng)求中的號(hào)低于JN的號(hào),JN將寫(xiě)請(qǐng)求。如果請(qǐng)求中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論