zookeeper的精華

最近酒来,經理讓每個小組成員做技術分享谈飒,我領到的任務是zookeeper岂座,特此記錄。

一杭措、 zookeeper的來源

分布式的產生——分布式數據一致性問題费什。(分布式節(jié)點越多,越難達到一致性)

Zookeeper產生的目的 :就是解決分布式數據一致性的問題手素。

eg:Hadoop安裝的時候鸳址,namenode也存在單點故障的問題,namenode可以配置多個泉懦,只有一個active的稿黍,剩下的都是standby的。standby可以無縫銜接active崩哩,保證集群正常運行巡球,數據不丟失。

如果standby想要無縫連接邓嘹,必須實時和active元數據保持一致酣栈。

那如何保持呢?定期拷貝汹押?不可能矿筝!會出現數據延遲或者丟失的問題。

最好出現一個第三方平臺棚贾,這個平臺就是解決數據同步問題——zookeeper就做這樣的事情窖维。

二、 zookeeper是什么妙痹?

是一個分布式的铸史、開放源碼的分布式應用程序協(xié)調服務,是Google的chubby的一個開源的實現细诸。

它提供了簡單原始的功能沛贪,分布式應用可以基于它實現更高級的服務,比如分布式同步震贵、配置管理、集群管理水评、集群管理猩系、隊列管理。

三中燥、 zookeeper的安裝

有三種模式:

單機模式(在自己windows電腦上)

集群模式(有真實的幾臺電腦集群)

偽集群模式(在虛擬機上)

安裝步驟:http://www.cnblogs.com/jxwch/p/6433310.html

/conf/zoo.cfg文件? 配置文件

命令:

啟動:zkServer.sh start

停止:zkServer.sh stop

查看狀態(tài):zkServer.sh status

四寇甸、 zookeeper的總體架構

主從結構(選舉機制)

主——leader

從——follower

//todo

五、 zookeeper的文件系統(tǒng)

兩個核心:文件系統(tǒng),監(jiān)聽機制

1) 文件系統(tǒng)

1. Zookeeper的文件系統(tǒng)類似于Linux拿霉,根節(jié)點是/

2. Zookeeper的文件系統(tǒng)的尋址只能通過絕對路徑吟秩,不能通過相對路徑。從根目錄開始(所有的選址)eg: get /new03

3. linux下的路徑可能有文件绽淘,可能是目錄涵防。

但是在zookeeper中不存在文件,也不存在目錄沪铭,

但是既有文件的功能(存東西)壮池,又有目錄的功能(有路徑),叫znode杀怠。

它既不是文件椰憋,又不是目錄,但是兩者的功能都有了赔退。

4. znode的分類:

按照生命周期:可以分為持久的znode和臨時的znode橙依。

二者的區(qū)別:臨時節(jié)點在當前會話結束時,自動刪除硕旗;持久節(jié)點只有用戶手動刪除才能被刪除票编。

按有無編號:

可以分為4種:

持久無編號節(jié)點;

持久有編號節(jié)點卵渴;

臨時無編號節(jié)點慧域;

臨時有編號節(jié)點。

注意:

1.“有編號”的編號是由父節(jié)點維護的浪读,同一個父節(jié)點維護的編號會順序增加昔榴,只要在相同的父節(jié)點下創(chuàng)建子節(jié)點,不管這個節(jié)點有無編號碘橘,都會順序增加編號(只是無編號的不顯示而已)

2.有編號的可以反復創(chuàng)建同名節(jié)點互订,每次都會自動添加一個順序的編號。無編號的節(jié)點只能創(chuàng)建一次痘拆。

5. 臨時節(jié)點不能有子節(jié)點仰禽。

有子節(jié)點的節(jié)點一定是持久節(jié)點;

沒有子節(jié)點的節(jié)點可能是永久節(jié)點纺蛆,也可能是臨時節(jié)點.

6. 有幾個zookeeper節(jié)點吐葵,數據就會保存幾份,但是這幾份數據是完全一樣的桥氏。

eg温峭;Master,Slave1字支,Slave2這三臺機器上的zk數據是完全一樣的凤藏。

7. 每個znode上存儲的數據最大不要超過1M奸忽,最好不要超過1kb。

原因:

1. znode上存儲的數據量越大揖庄,一致性越難維護(網絡)栗菜。

2. 理論上只存儲核心數據就可以了,znode的一般存儲狀態(tài)信息0和1蹄梢。

8. znode上可以添加監(jiān)聽

監(jiān)聽添加的地方——znode上

監(jiān)聽:監(jiān)測znode的狀態(tài)(一舉一動)疙筹,包括數據改變/節(jié)點添加刪除

2) 監(jiān)聽機制

監(jiān)聽就是對數據進行監(jiān)控,zookeeper的監(jiān)聽對象是znode检号,會對znode的數據變化添加監(jiān)聽腌歉。通過監(jiān)聽機制,監(jiān)聽文件系統(tǒng)的數據變化(包括數據內容的變化/文件結果的變化)

監(jiān)聽事件:

nodeDataChanged? 節(jié)點數據(內容)的改變

nodeCreate 節(jié)點創(chuàng)建事件

nodeDelete? ? ? 節(jié)點刪除事件

nodeChildrenChanged? 子節(jié)點變化事件

用戶對哪個節(jié)點的數據變化感興趣齐苛,那么就在這個節(jié)點上添加監(jiān)聽(注冊監(jiān)聽)翘盖,一旦數據發(fā)生改變就會觸發(fā)監(jiān)聽。

注冊監(jiān)聽:

Ls : 顯示子節(jié)點:子節(jié)點的變化(創(chuàng)建凹蜂,刪除)

get/getData : 監(jiān)聽節(jié)點數據內容:節(jié)點數據內容發(fā)生改變

exist

觸發(fā)監(jiān)聽:

create

delete

set path data

六馍驯、zookeeper的shell

Ls /

Rmr path

Delete path

Stat path

Get path

Create [-e] [-s] znode節(jié)點 內容

-s:序號 sequential

-e:臨時的 epherneral

七、zookeeper的api

在eclipse中安裝zookeeper的可視化插件 zookeeper eclipse plugins 可以在help中下載

并導入zookeeper的jar包

public class TestZooConnection {

public static void main(String[] args) throws IOException {

ZooKeeper zk = new ZooKeeper("Master:2181", 5000, null);

System.out.println(zk);

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末玛痊,一起剝皮案震驚了整個濱河市汰瘫,隨后出現的幾起案子,更是在濱河造成了極大的恐慌擂煞,老刑警劉巖混弥,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異对省,居然都是意外死亡蝗拿,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門蒿涎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哀托,“玉大人,你說我怎么就攤上這事劳秋〔质郑” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵玻淑,是天一觀的道長嗽冒。 經常有香客問我,道長岁忘,這世上最難降的妖魔是什么辛慰? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮干像,結果婚禮上帅腌,老公的妹妹穿的比我還像新娘。我一直安慰自己麻汰,他們只是感情好速客,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著五鲫,像睡著了一般溺职。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上位喂,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天浪耘,我揣著相機與錄音,去河邊找鬼塑崖。 笑死七冲,一個胖子當著我的面吹牛,可吹牛的內容都是我干的规婆。 我是一名探鬼主播澜躺,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抒蚜!你這毒婦竟也來了掘鄙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嗡髓,失蹤者是張志新(化名)和其女友劉穎操漠,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體饿这,經...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡浊伙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了蛹稍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吧黄。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖唆姐,靈堂內的尸體忽然破棺而出拗慨,到底是詐尸還是另有隱情,我是刑警寧澤奉芦,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布赵抢,位于F島的核電站,受9級特大地震影響声功,放射性物質發(fā)生泄漏烦却。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一先巴、第九天 我趴在偏房一處隱蔽的房頂上張望其爵。 院中可真熱鬧冒冬,春花似錦、人聲如沸摩渺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摇幻。三九已至横侦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绰姻,已是汗流浹背枉侧。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狂芋,地道東北人榨馁。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像银酗,于是被迫代替她去往敵國和親辆影。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內容