首頁(yè)技術(shù)文章正文

云計(jì)算大數(shù)據(jù)培訓(xùn)之Hadoop組件:zookeeper(1)

更新時(shí)間:2017-09-01 來(lái)源:黑馬程序員云計(jì)算大數(shù)據(jù)培訓(xùn)學(xué)院 瀏覽量:

1-1 zookeeper簡(jiǎn)述

zookeeper實(shí)際上是雅虎開發(fā)的,用于分布式中一致性處理的框架。最初其作為研發(fā)Hadoop時(shí)的副產(chǎn)品。由于分布式系統(tǒng)中一致性處理較為困難,其他的分布式系統(tǒng)沒有必要 費(fèi)勁重復(fù)造輪子,故隨后的分布式系統(tǒng)中大量應(yīng)用了zookeeper,以至于zookeeper成為了各種分布式系統(tǒng)的基礎(chǔ)組件,其地位之重要,可想而知。著名的hadoop、kafka、dubbo 都是基于zookeeper而構(gòu)建。


所以ZooKeeper是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng)。ZooKeeper是分布式系統(tǒng)中的一個(gè)重要組件,它能為HDFS、HBase、MapReduce、YARN、Hive等組件提供重要的功能支撐。在分布式應(yīng)用中,通常需要ZooKeeper來(lái)提供可靠的、可擴(kuò)展的、分布式的、可配置的協(xié)調(diào)機(jī)制來(lái)統(tǒng)一各系統(tǒng)的狀態(tài)。


1-2 一致性

要想理解zookeeper到底是做啥的,那首先得理解清楚,什么是一致性。


所謂的一致性,舉個(gè)例子:淘寶后臺(tái)賣家,在后臺(tái)上架一件大促的商品,通過(guò)服務(wù)器A提交到主數(shù)據(jù)庫(kù),假設(shè)剛提交后立馬就有用戶去通過(guò)應(yīng)用服務(wù)器B去從數(shù)據(jù)庫(kù)查詢?cè)撋唐?,就?huì)出現(xiàn)一個(gè)現(xiàn)象,賣家已經(jīng)更新成功了,然而買家卻看不到;而經(jīng)過(guò)一段時(shí)間后,主數(shù)據(jù)庫(kù)的數(shù)據(jù)同步到了從數(shù)據(jù)庫(kù),買家就能查到了。


假設(shè)賣家更新成功之后買家立馬就能看到賣家的更新,則稱為強(qiáng)一致性;


如果賣家更新成功后買家不能看到賣家更新的內(nèi)容,則稱為弱一致性;


而賣家更新成功后,買家經(jīng)過(guò)一段時(shí)間最終能看到賣家的更新,則稱為最終一致性。


更多的一致性例子可以參考文獻(xiàn)2,里面列舉了10種一致性的例子,如果要給一致性下個(gè)定義,可以是分布式系統(tǒng)中狀態(tài)或數(shù)據(jù)保持同步和一致。




本文版權(quán)歸黑馬程序員云計(jì)算大數(shù)據(jù)培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員云計(jì)算大數(shù)據(jù)培訓(xùn)學(xué)院
首發(fā):http://cloud.itheima.com/ 
分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!