日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JournalNode的作用

發(fā)布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JournalNode的作用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

NameNode之間共享數(shù)據(jù)(NFS 、Quorum Journal Node(用得多))

兩個NameNode為了數(shù)據(jù)同步,會通過一組稱作JournalNodes的獨立進(jìn)程進(jìn)行相互通信。當(dāng)active狀態(tài)的NameNode的命名空間有任何修改時,會告知大部分的JournalNodes進(jìn)程。standby狀態(tài)的NameNode有能力讀取JNs中的變更信息,并且一直監(jiān)控edit log的變化,把變化應(yīng)用于自己的命名空間。standby可以確保在集群出錯時,命名空間狀態(tài)已經(jīng)完全同步了。

上面在Active Namenode與StandBy Namenode之間的綠色區(qū)域就是JournalNode,當(dāng)然數(shù)量不一定只有1個,作用相當(dāng)于NFS共享文件系統(tǒng).Active Namenode往里寫editlog數(shù)據(jù),StandBy再從里面讀取數(shù)據(jù)進(jìn)行同步.

NameNode之間共享數(shù)據(jù)(NFS 、Quorum Journal Node(用得多))

兩個NameNode為了數(shù)據(jù)同步,會通過一組稱作JournalNodes的獨立進(jìn)程進(jìn)行相互通信。當(dāng)active狀態(tài)的NameNode的命名空間有任何修改時,會告知大部分的JournalNodes進(jìn)程。standby狀態(tài)的NameNode有能力讀取JNs中的變更信息,并且一直監(jiān)控edit log的變化,把變化應(yīng)用于自己的命名空間。standby可以確保在集群出錯時,命名空間狀態(tài)已經(jīng)完全同步了。

Hadoop中的NameNode好比是人的心臟,非常重要,絕對不可以停止工作

hadoop2.2.0(HA)中HDFS的高可靠指的是可以同時啟動2個NameNode。其中一個處于工作狀態(tài),另一個處于隨時待命狀態(tài)。這樣,當(dāng)一個NameNode所在的服務(wù)器宕機(jī)時,可以在數(shù)據(jù)不丟失的情況下,手工或者自動切換到另一個NameNode提供服務(wù)。

這些NameNode之間通過共享數(shù)據(jù),保證數(shù)據(jù)的狀態(tài)一致。多個NameNode之間共享數(shù)據(jù),可以通過Nnetwork File System或者Quorum Journal Node。前者是通過linux共享的文件系統(tǒng),屬于操作系統(tǒng)的配置;后者是hadoop自身的東西,屬于軟件的配置。

我們這里講述使用Quorum Journal Node的配置方式,方式是手工切換。

集群啟動時,可以同時啟動2個NameNode。這些NameNode只有一個是active的,另一個屬于standby狀態(tài)。active狀態(tài)意味著提供服務(wù),standby狀態(tài)意味著處于休眠狀態(tài),只進(jìn)行數(shù)據(jù)同步,時刻準(zhǔn)備著提供服務(wù),如圖2所示。

架構(gòu)

在一個典型的HA集群中,每個NameNode是一臺獨立的服務(wù)器。在任一時刻,只有一個NameNode處于active狀態(tài),另一個處于standby狀態(tài)。其中,active狀態(tài)的NameNode負(fù)責(zé)所有的客戶端操作,standby狀態(tài)的NameNode處于從屬地位,維護(hù)著數(shù)據(jù)狀態(tài),隨時準(zhǔn)備切換。

兩個NameNode為了數(shù)據(jù)同步,會通過一組稱作JournalNodes的獨立進(jìn)程進(jìn)行相互通信。當(dāng)active狀態(tài)的NameNode的命名空間有任何修改時,會告知大部分的JournalNodes進(jìn)程。standby狀態(tài)的NameNode有能力讀取JNs中的變更信息,并且一直監(jiān)控edit log的變化,把變化應(yīng)用于自己的命名空間。standby可以確保在集群出錯時,命名空間狀態(tài)已經(jīng)完全同步了,如圖3所示。

為了確保快速切換,standby狀態(tài)的NameNode有必要知道集群中所有數(shù)據(jù)塊的位置。為了做到這點,所有的datanodes必須配置兩個NameNode的地址,發(fā)送數(shù)據(jù)塊位置信息和心跳給他們兩個。

對于HA集群而言,確保同一時刻只有一個NameNode處于active狀態(tài)是至關(guān)重要的。否則,兩個NameNode的數(shù)據(jù)狀態(tài)就會產(chǎn)生分歧,可能丟失數(shù)據(jù),或者產(chǎn)生錯誤的結(jié)果。為了保證這點,JNs必須確保同一時刻只有一個NameNode可以向自己寫數(shù)據(jù)。

總結(jié)

以上是生活随笔為你收集整理的JournalNode的作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。