zookeeper偽集群模式搭建

在學(xué)習(xí)zookeeper的過程中约巷,常常受制于環(huán)境限制,沒有足夠多的硬件資源以供自己玩耍旱捧,通常情況下只有自己的16G內(nèi)存的筆記本独郎,因此,在這種情況下枚赡,我們需要通過搭建偽集群環(huán)境來體驗zookeeper的集群模式氓癌。

1.環(huán)境準(zhǔn)備

操作系統(tǒng): fedora25
硬件配置: thinkpad X230  i5  16G   500G
依賴軟件: jdk  1.8.0_121 (官方版本,非openjdk)
下載: zookeeper-3.4.10.tar.gz
cd /opt
wget http://www-us.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

安裝目錄:/opt/zookeeper
mkdir /opt/zookeeper
cd /opt/zookeeper 
tar -zxvf  /opt/zookeeper-3.4.10.tar.gz 
cp -rf /opt/zookeeper/zookeeper-3.4.10   /opt/zookeeper/zoo-node1
cp -rf /opt/zookeeper/zookeeper-3.4.10   /opt/zookeeper/zoo-node2
cp -rf /opt/zookeeper/zookeeper-3.4.10   /opt/zookeeper/zoo-node3
rm -rf  /opt/zookeeper/zookeeper-3.4.10 
這樣贫橙,zookeeper的三個節(jié)點運(yùn)行目錄分別為:
 /opt/zookeeper/zoo-node1
 /opt/zookeeper/zoo-node2
 /opt/zookeeper/zoo-node3

2.配置

2.1 zoo.cfg配置文件

zookeeper的運(yùn)行贪婉,需要在conf目錄配置zoo.cfg文件。我們可以參考zoo_sample.cfg進(jìn)行配置卢肃。
節(jié)點1配置如下:

#zookeeper時間單元疲迂,單位為毫秒
tickTime=2000
#集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間 初始連接 時能容忍的最多心跳數(shù)(tickTime的數(shù)量)才顿。
initLimit=10
# 集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間 請求和應(yīng)答 之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)。
syncLimit=5
# data數(shù)據(jù)目錄
dataDir=/opt/zookeeper/zoo-node1/data
# 客戶端連接端口
clientPort=2181
# 客戶端最大連接數(shù)
#maxClientCnxns=60
# 需要保留的快照數(shù)目
#autopurge.snapRetainCount=3
# 是否開啟自動清理事務(wù)日志和快照功能 0 不開啟尤蒿,1表示開啟
#autopurge.purgeInterval=1
#集群配置 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

節(jié)點2配置

#zookeeper時間單元郑气,單位為毫秒
tickTime=2000
#集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間 初始連接 時能容忍的最多心跳數(shù)(tickTime的數(shù)量)。
initLimit=10
# 集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間 請求和應(yīng)答 之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)腰池。
syncLimit=5
# data數(shù)據(jù)目錄
dataDir=/opt/zookeeper/zoo-node2/data
# 客戶端連接端口
clientPort=2182
# 客戶端最大連接數(shù)
#maxClientCnxns=60
# 需要保留的快照數(shù)目
#autopurge.snapRetainCount=3
# 是否開啟自動清理事務(wù)日志和快照功能 0 不開啟尾组,1表示開啟
#autopurge.purgeInterval=1
#集群配置 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

節(jié)點3配置

#zookeeper時間單元,單位為毫秒
tickTime=2000
#集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間 初始連接 時能容忍的最多心跳數(shù)(tickTime的數(shù)量)示弓。
initLimit=10
# 集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間 請求和應(yīng)答 之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)讳侨。
syncLimit=5
# data數(shù)據(jù)目錄
dataDir=/opt/zookeeper/zoo-node3/data
# 客戶端連接端口
clientPort=2183
# 客戶端最大連接數(shù)
#maxClientCnxns=60
# 需要保留的快照數(shù)目
#autopurge.snapRetainCount=3
# 是否開啟自動清理事務(wù)日志和快照功能 0 不開啟,1表示開啟
#autopurge.purgeInterval=1
#集群配置 
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

分別將上述配置文件放置在三個節(jié)點對應(yīng)的conf目錄下奏属。
另外跨跨,需要新建data目錄

mkdir /opt/zookeeper/zoo-node1/data
mkdir /opt/zookeeper/zoo-node2/data
mkdir /opt/zookeeper/zoo-node3/data

2.2 myid配置文件

zookeeper還需要在data目錄中配置myid文件。myid文件中存放對應(yīng)節(jié)點的序號囱皿。

echo '1'  >  /opt/zookeeper/zoo-node1/data/myid
echo '2'  >  /opt/zookeeper/zoo-node2/data/myid
echo '3'  >  /opt/zookeeper/zoo-node3/data/myid

2.3 日志路徑配置

修改 bin 目錄下的zkEnv.sh
將ZOO_LOG_DIR 修改為:

 ZOO_LOG_DIR="../logs/"

按上述方法分別修改三個節(jié)點中的zkEnv.sh文件

3.啟動

/opt/zookeeper/zoo-node1/bin/zkServer.sh start
/opt/zookeeper/zoo-node2/bin/zkServer.sh start
/opt/zookeeper/zoo-node2/bin/zkServer.sh start

如此分別啟動三個節(jié)點即可歹叮。
啟動效果如下:

[root@localhost bin]# /opt/zookeeper/zoo-node1/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zoo-node1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看日志:


日志

4.客戶端連接

運(yùn)行 zkCli.sh 連接到默認(rèn)的端口

4.1 create

使用create 可以創(chuàng)建一個zookeeper節(jié)點。

命令格式
create [-s] [-e] path data acl
create  /zk-book 123
create

4.2 ls

列出zookeeper指定節(jié)點下的所有子節(jié)點铆帽。

命令格式
ls path [watch]
ls /
ls

4.3 get

get 可以獲取zookeeper指定節(jié)點的數(shù)據(jù)內(nèi)容和屬性信息咆耿。

get path [watch]
get /zk-book
get

4.4 set

更新指定節(jié)點的數(shù)據(jù)內(nèi)容

set path data [vresion]
set /zk-book 456
set

4.5 delete

delete 刪除zookeeper上指定節(jié)點內(nèi)容

delete path [version]
delete /zk-book
delete

不過需要注意的是,刪除的節(jié)點必須為空爹橱,否則無法刪除萨螺。

create /zk-book 123
create /zk-book/child 12345
delete /zk-book
delete 非空
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市愧驱,隨后出現(xiàn)的幾起案子慰技,更是在濱河造成了極大的恐慌,老刑警劉巖组砚,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吻商,死亡現(xiàn)場離奇詭異,居然都是意外死亡糟红,警方通過查閱死者的電腦和手機(jī)艾帐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盆偿,“玉大人柒爸,你說我怎么就攤上這事∈屡ぃ” “怎么了捎稚?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我今野,道長葡公,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任条霜,我火速辦了婚禮催什,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛔外。我一直安慰自己,他們只是感情好溯乒,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布夹厌。 她就那樣靜靜地躺著,像睡著了一般裆悄。 火紅的嫁衣襯著肌膚如雪矛纹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天光稼,我揣著相機(jī)與錄音或南,去河邊找鬼。 笑死艾君,一個胖子當(dāng)著我的面吹牛采够,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冰垄,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蹬癌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虹茶?” 一聲冷哼從身側(cè)響起逝薪,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蝴罪,沒想到半個月后董济,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡要门,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年虏肾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欢搜。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡询微,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狂巢,到底是詐尸還是另有隱情撑毛,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站藻雌,受9級特大地震影響雌续,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胯杭,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一上遥、第九天 我趴在偏房一處隱蔽的房頂上張望铭段。 院中可真熱鬧,春花似錦、人聲如沸携狭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肛著。三九已至,卻和暖如春太闺,著一層夾襖步出監(jiān)牢的瞬間糯景,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工省骂, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蟀淮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓钞澳,卻偏偏與公主長得像怠惶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子轧粟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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