Centos下安裝Zookeeper

下載Zookeeper

從官網或者鏡像下載對應的發(fā)行包:

http://www.apache.org/dyn/closer.cgi/zookeeper/

我這里直接使用wget命令下載3.4.8版本:

wget http://mirror.tcpdiag.net/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

解壓Zookeeper

下載后的發(fā)行包是tar.gz格式的zookeeper-3.4.8.tar.gz
使用tar命令解壓:

tar zxvf zookeeper-3.4.8.tar.gz

配置Zookeeper

zookeeper支持兩種運行模式:獨立模式(standalone)復制模式(replicated)短荐。

真正用于生產環(huán)境的Zookeeper肯定都是使用復制模式的,這樣做可以避免單點問題探熔。想要使用復制模式梢夯,但由于沒有富余的機器能夠使用,所以可以在單臺機器上通過配置來使用復制模式恳邀,從而模擬真實的集群環(huán)境懦冰。

由于Zookeeper集群是通過多數選舉的方式產生leader的,因此谣沸,集群需要奇數個Zookeeper實例組成刷钢,也就是說至少需要3臺(1臺不能算"群" :-] )。

配置zoo.conf文件

首先乳附,將zookeeper-3.4.8這個目錄copy三份内地,分別為zookeeper-3.4.8-01、zookeeper-3.4.8-02赋除、zookeeper-3.4.8-03阱缓,代表著3個實例。

然后举农,分別創(chuàng)建zoo.conf配置文件荆针,放在對應實例下的conf/目錄下,文件內容如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/var/lib/zookeeper-01
# the port at which the clients will connect
clientPort=2181

# servers
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

下面說明一下需要注意的幾點:

  • dataDir這個是指定實例數據的存放路徑并蝗,不同的實例要區(qū)分開祭犯。并且,注釋中提醒不要設置為/tmp目錄滚停。比如可以分別設為:
/var/lib/zookeeper-01
/var/lib/zookeeper-02
/var/lib/zookeeper-03
  • clientPort這個是供客戶端連接本實例的端口號沃粗,不同的實例也要區(qū)分。比如键畴,可以分別指定為:2181最盅、2182、2183起惕。
  • server.{X}這個X可以取數字涡贱,用來標識集群中唯一的一個實例。配置了多少個server.{X}就表示集群中有多少個實例惹想。后面值的格式為:{host}:{port1}:{port2}
    其中问词,{host}為實例所在的主機IP,這里由于都在一臺機器上嘀粱,所以都指定為本機地址激挪;{port1}是集群中實例之間用于數據通信的端口辰狡;{port2}是集群中實例進行l(wèi)eader選舉時使用的通信端口。對于同一實例{port1}和{port2}是不可相同的垄分。對于同一臺機器部署多個實例的情況宛篇,不同實例的同一種端口也是需要區(qū)分的。

配置myid文件

前面提到的server.{X}配置項中的{X}就是一個實例的myid薄湿,它需要被寫在對應實例的{dataDir}/myid文件中叫倍。

下面需要在每一個實例指定的{dateDir}目錄下創(chuàng)建一個名為myid的文件,文件的內容就是一個數字豺瘤,對應server.{X}中的X吆倦。

比如,這里是這樣配置的:
在/var/lib/zookeeper-01/myid文件中寫入1炉奴;
在/var/lib/zookeeper-02/myid文件中寫入2逼庞;
在/var/lib/zookeeper-03/myid文件中寫入3。

創(chuàng)建啟動和停止的腳本

對于多個實例瞻赶,分別啟動和停止比較麻煩,可以寫一個腳本來自動完成這個工作派任。
start-zk-servers.sh的內容:

echo `/root/zookeeper-3.4.8-01/bin/zkServer.sh start`
echo `/root/zookeeper-3.4.8-02/bin/zkServer.sh start`
echo `/root/zookeeper-3.4.8-03/bin/zkServer.sh start`

stop-zk-servers.sh的內容:

echo `/root/zookeeper-3.4.8-01/bin/zkServer.sh stop`
echo `/root/zookeeper-3.4.8-02/bin/zkServer.sh stop`
echo `/root/zookeeper-3.4.8-03/bin/zkServer.sh stop`

啟動集群

運行啟動腳本:sh start-zk-servers.sh

啟動zookeeper服務

默認地砸逊,在用戶目錄(~/)下面會生成Zookeeper的日志文件zookeeper.out。從日志中可以看出leader選舉的過程和結果掌逛。

停止集群

運行停止腳本:sh stop-zk-servers.sh

停止zookeeper服務

連接Zookeeper

開頭提到了筆者用于實驗的Zookeeper集群部署在遠程的vps上师逸,下面用本地的Zookeeper客戶端連接一下試試。

在本地同樣下載Zookeeper的發(fā)行包豆混,并解壓篓像,進入目錄執(zhí)行下面的命令:(將{host}替換成遠程主機的IP,端口取集群中任意一個實例的clientPort)

bin/zkCli.sh -server {host}:2181

連上之后就可以對節(jié)點進行一些簡單的操作:

操作節(jié)點

結語

由于剛接觸Zookeeper皿伺,對原理和配置的最佳實踐還不甚了解员辩,所以,這篇文章應當作筆者學習過程中的記錄鸵鸥,不一定適合生產環(huán)境奠滑,切記!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末妒穴,一起剝皮案震驚了整個濱河市宋税,隨后出現的幾起案子,更是在濱河造成了極大的恐慌讼油,老刑警劉巖杰赛,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異矮台,居然都是意外死亡乏屯,警方通過查閱死者的電腦和手機根时,發(fā)現死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓶珊,“玉大人啸箫,你說我怎么就攤上這事∩∏郏” “怎么了忘苛?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長唱较。 經常有香客問我扎唾,道長,這世上最難降的妖魔是什么南缓? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任胸遇,我火速辦了婚禮,結果婚禮上汉形,老公的妹妹穿的比我還像新娘纸镊。我一直安慰自己,他們只是感情好概疆,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布逗威。 她就那樣靜靜地躺著,像睡著了一般岔冀。 火紅的嫁衣襯著肌膚如雪凯旭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天使套,我揣著相機與錄音罐呼,去河邊找鬼。 笑死侦高,一個胖子當著我的面吹牛嫉柴,可吹牛的內容都是我干的。 我是一名探鬼主播矫膨,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼差凹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了侧馅?” 一聲冷哼從身側響起危尿,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馁痴,沒想到半個月后谊娇,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年济欢,在試婚紗的時候發(fā)現自己被綠了赠堵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡法褥,死狀恐怖茫叭,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情半等,我是刑警寧澤揍愁,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站杀饵,受9級特大地震影響莽囤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜切距,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一朽缎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谜悟,春花似錦话肖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至礼患,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掠归,已是汗流浹背缅叠。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虏冻,地道東北人肤粱。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像厨相,于是被迫代替她去往敵國和親领曼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內容

  • 1 Zookeeper概述# ZooKeeper是一個為分布式應用所設計的分布的蛮穿、開源的協調服務庶骄,它主要是用來解決...
    七寸知架構閱讀 7,351評論 0 101
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現践磅,斷路器单刁,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 1.下載zookeeper并復制到linux中的適當目錄下https://zookeeper.apache.org...
    劉繼偉閱讀 220評論 0 0
  • ZooKeeper介紹 Zookeeper 分布式服務框架是 Apache Hadoop 的一個子項目,它主要是用...
    Coselding閱讀 11,401評論 1 37
  • .gitignore文件記錄讓git忽略的文件類型或文件路徑github.com/github/gitignore...
    金琥閱讀 147評論 0 1