Zookeeper從零開始學(xué)習(xí)

[TOC]

概述


關(guān)鍵字

  • 分布式
  • open source
  • 協(xié)調(diào)服務(wù)(For 分布式應(yīng)用程序)
    • 配置維護(hù)
    • 域名維護(hù)
    • 分布式同步
    • 組服務(wù)

起源

  • Google的Chubby的開源實(shí)現(xiàn)
  • Hadoop和Hbase的重要組件
  • 算法基礎(chǔ)是Fast Paxos的改進(jìn)版

目標(biāo)

  • 封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù)
  • 提供簡(jiǎn)單晃危、高效盯仪、穩(wěn)定的系統(tǒng)

接口

  • 包含簡(jiǎn)單的原語(yǔ)集(原語(yǔ):不可分割的機(jī)器指令集)
  • 提供Java和C的接口

運(yùn)轉(zhuǎn)流程

  • 選舉Leader
  • 同步數(shù)據(jù)

分治


狀態(tài)機(jī)郭厌,參考Link

實(shí)戰(zhàn)


部署偽集群

  1. 從zookeeper官網(wǎng)下載最新stable版本
  2. 解壓并復(fù)制三份:
drwxr-xr-x 11 work work 4.0K May 20 19:37 zookeeper00
drwxr-xr-x 11 work work 4.0K May 20 19:49 zookeeper01
drwxr-xr-x 11 work work 4.0K May 20 19:49 zookeeper02
-rw-r--r--  1 work work  34M May 20 19:29 zookeeper-3.4.10.tar.gz
  1. 分別添加配置和mypid如下:
    -- zoo1
?  tools cat zookeeper00/conf/zoo.cfg
tickTime=2000
dataDir=log
clientPort=8181
initLimit=5
syncLimit=2
server.1=127.0.0.1:8182:8183
server.2=127.0.0.1:8282:8283
server.3=127.0.0.1:8382:8383
?  tools cat zookeeper00/log/myid
1

-- zoo2

?  tools cat zookeeper00/conf/zoo.cfg
tickTime=2000
dataDir=log
clientPort=8281
initLimit=5
syncLimit=2
server.1=127.0.0.1:8182:8183
server.2=127.0.0.1:8282:8283
server.3=127.0.0.1:8382:8383
?  tools cat zookeeper01/log/myid
2

-- zoo3

?  tools cat zookeeper02/conf/zoo.cfg
tickTime=2000
dataDir=log
clientPort=8381
initLimit=5
syncLimit=2
server.1=127.0.0.1:8182:8183
server.2=127.0.0.1:8282:8283
server.3=127.0.0.1:8382:8383
?  tools cat zookeeper02/log/myid
3
  1. 分別啟動(dòng)三個(gè)zookeeper
$ cd zookeeper00
$ bin/zkServer.sh start
$ cd ../zookeeper01
$ bin/zkServer.sh start
$ cd ../zookeeper02
$ bin/zkServer.sh start
  1. 檢查進(jìn)程


    圖片.png
  2. 檢查是否啟動(dòng)成功

$ bin/zkCli.sh -server 127.0.0.1:8181
...
Welcome to ZooKeeper!
...
[zk: 127.0.0.1:8181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
    connect host:port
    get path [watch]
    ls path [watch]
    set path data [version]
    rmr path
    delquota [-n|-b] path
    quit
    printwatches on|off
    create [-s] [-e] path data acl
    stat path [watch]
    close
    ls2 path [watch]
    history
    listquota path
    setAcl path acl
    getAcl path
    sync path
    redo cmdno
    addauth scheme auth
    delete path [version]
    setquota -n|-b val path
[zk: 127.0.0.1:8181(CONNECTED) 1] ls /
[zookeeper]

Python應(yīng)用注冊(cè)到此集群

  1. 編譯并安裝c版本的zookeeper client
$ cd zookeeper-3.4.10/src/c
# 這里指定安裝目錄熏兄,以便在非root權(quán)限下安裝
$ ./configure --prefix=/home/work/local
$ make -j8
$ make install
# 需要修改環(huán)境變量以便能使用編譯的zookeeper client
$ cat ~/.bashrc
export PATH="$HOME/local/bin:$PATH"
export LD_RUN_PATH="$HOME/local/lib:$LD_RUN_PATH"
export LD_LIBRARY_PATH="$HOME/local/lib:$LD_LIBRARY_PATH"
export LIBRARY_PATH="$HOME/local/lib:$LD_LIBRARY_PATH"
export C_INCLUDE_PATH="$HOME/local/include/zookeeper:$C_INCLUDE_PATH"
$ source ~/.bashrc
  1. 安裝zookeeper python庫(kù)參考鏈接
$ easy_install zkpython
# 或者
$ pip install zkpython
  1. 使用zkpython寫一個(gè)注冊(cè)到zookeeper的例子野蝇,參考Link1Link2

Golang應(yīng)用注冊(cè)到此集群

其他

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抛蚁,一起剝皮案震驚了整個(gè)濱河市椭赋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扒寄,老刑警劉巖鱼鼓,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異该编,居然都是意外死亡迄本,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門课竣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嘉赎,“玉大人置媳,你說(shuō)我怎么就攤上這事」酰” “怎么了拇囊?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)靶橱。 經(jīng)常有香客問(wèn)我寥袭,道長(zhǎng),這世上最難降的妖魔是什么抓韩? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任纠永,我火速辦了婚禮鬓长,結(jié)果婚禮上谒拴,老公的妹妹穿的比我還像新娘。我一直安慰自己涉波,他們只是感情好英上,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啤覆,像睡著了一般苍日。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窗声,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天相恃,我揣著相機(jī)與錄音,去河邊找鬼笨觅。 笑死拦耐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的见剩。 我是一名探鬼主播杀糯,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼苍苞!你這毒婦竟也來(lái)了固翰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤羹呵,失蹤者是張志新(化名)和其女友劉穎骂际,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冈欢,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡方援,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涛癌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片犯戏。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡送火,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出先匪,到底是詐尸還是另有隱情种吸,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布呀非,位于F島的核電站坚俗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏岸裙。R本人自食惡果不足惜猖败,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望降允。 院中可真熱鬧恩闻,春花似錦、人聲如沸剧董。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翅楼。三九已至尉剩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毅臊,已是汗流浹背理茎。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留管嬉,地道東北人皂林。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像宠蚂,于是被迫代替她去往敵國(guó)和親式撼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • ** 今天看了一下kafka官網(wǎng)求厕,嘗試著在自己電腦上安裝和配置著隆,然后學(xué)一下官方document。** Introd...
    RainChang閱讀 5,003評(píng)論 1 30
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,056評(píng)論 3 53
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理呀癣,服務(wù)發(fā)現(xiàn)美浦,斷路器,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • 最近在學(xué)習(xí)大數(shù)據(jù)技術(shù)项栏,朋友叫我直接學(xué)習(xí)Spark浦辨,英雄不問(wèn)出處,菜鳥不問(wèn)對(duì)錯(cuò)沼沈,于是我就開始了Spark學(xué)習(xí)流酬。 為什...
    Plokmijn閱讀 26,537評(píng)論 6 26
  • 跟我的心去穿越時(shí)空币厕,行走在草原,行走在百年的駝道芽腾,去看草原上成群的牛羊會(huì)飛的駿馬旦装,藍(lán)天下一對(duì)對(duì)行走的駱駝,一行行沉...
    蘭如純閱讀 158評(píng)論 0 0