【ZooKeeper】單機(jī)偽集群搭建(適用于mac)

1.配置

.zookeeper下載地址:http://apache.mirrors.lucidnetworks.net/zookeeper/

可以選擇需要的版本,我下載的是zookeeper-3.4.6.tar.gz昼钻,解壓得到文件夾zookeeper-3.4.3

由于手頭機(jī)器不足闯参,所以在一臺機(jī)器上部署了3個server,如果你手頭也比較緊喻鳄,也可以這么做足淆。

在主文件夾下建立一個zookeeper文件夾钧惧,在zookeeper文件夾里建立三個文件夾server1,server2,server3,

然后每個文件夾里面解壓一個zookeeper的下載包晤锥,并且還建了幾個文件夾掉蔬,總體結(jié)構(gòu)如下,最后那個是下載過來壓縮包的解壓文件

data,dataLog,logs,zookeeper-3.4.3

那么首先進(jìn)入data目錄,創(chuàng)建一個myid的文件查近,里面寫入一個數(shù)字眉踱,比如我這個是server1,那么就寫一個1,server2對應(yīng)myid文件就寫入2霜威,server3對應(yīng)myid文件就寫個3
然后進(jìn)入zookeeper-3.4.3/conf目錄谈喳,那么如果是剛下過來,會有3個文件戈泼,configuration.xml, log4j.properties,zoo_sample.cfg,這3個文件我們首先要做的就是在這個目錄創(chuàng)建一個zoo.cfg的配置文件婿禽,當(dāng)然你可以把zoo_sample.cfg文件改成zoo.cfg,打開zoo.cfg,文件內(nèi)容如下:

# 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=/Users/zhaofeng/Documents/zookeeper-cluster/zoo2/data
dataLogDir=/Users/zhaofeng/Documents/zookeeper-cluster/zoo2/dataLog
# the port at which the clients will connect
clientPort=2181

在文件末尾添加如下內(nèi)容:

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

需要注意的是clientPort這個端口如果你是在1臺機(jī)器上部署多個server,那么每臺機(jī)器都要不同的clientPort大猛,比如我server1是2181,server2是2182扭倾,server3是2183,dataDir和dataLogDir也需要區(qū)分下挽绩。

最后幾行唯一需要注意的地方就是 server.X 這個數(shù)字就是對應(yīng) data/myid中的數(shù)字膛壹。你在3個server的myid文件中分別寫入了1,2,3模聋,那么每個server中的zoo.cfg都配server.1,server.2,server.3就OK了肩民。因?yàn)樵谕慌_機(jī)器上,后面連著的2個端口3個server都不要一樣链方,否則端口沖突持痰,其中第一個端口用來集群成員的信息交換,第二個端口是在leader掛掉時專門用來進(jìn)行選舉leader所用祟蚀。

2.啟動ZooKeeper偽機(jī)群的所有服務(wù)器

分別進(jìn)入三個服務(wù)器的zookeeper-3.4.3/bin目錄下工窍,啟動服務(wù)
./zkServer.sh start
啟動完成后,查看服務(wù)器狀態(tài)前酿,
./zkServer.sh status

一般來說患雏,需要注意的是:按照zoo.cfg里面配置的順序啟動應(yīng)用。同時需要注意查看zookeeper.out文件罢维,如果出現(xiàn)連不上其他的端口號纵苛,很正常的事情。

錯誤如下:

Cannot open channel to 3 at election address /127.0.0.1:3890
java.net.ConnectException: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
    at java.lang.Thread.run(Thread.java:748)

等待所有的端口都啟動完成后言津,就可以正常使用了。正常的標(biāo)識是status返回的內(nèi)容為

$ ./zkServer.sh status
JMX enabled by default
Using config: /Users/zhaofeng/Documents/zookeeper-cluster/zoo2/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

3.接入客戶端

進(jìn)入任意一個服務(wù)器的zookeeper/bin目錄下取试,啟動一個客戶端悬槽,接入服務(wù)。

./zkCli.sh –server localhost:2181

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瞬浓,一起剝皮案震驚了整個濱河市初婆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猿棉,老刑警劉巖磅叛,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異萨赁,居然都是意外死亡弊琴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門杖爽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事漾岳√Q猓” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵化焕,是天一觀的道長萄窜。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么查刻? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任键兜,我火速辦了婚禮,結(jié)果婚禮上赖阻,老公的妹妹穿的比我還像新娘蝶押。我一直安慰自己,他們只是感情好火欧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布棋电。 她就那樣靜靜地躺著,像睡著了一般苇侵。 火紅的嫁衣襯著肌膚如雪赶盔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天榆浓,我揣著相機(jī)與錄音于未,去河邊找鬼。 笑死陡鹃,一個胖子當(dāng)著我的面吹牛烘浦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萍鲸,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼闷叉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脊阴?” 一聲冷哼從身側(cè)響起握侧,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘿期,沒想到半個月后品擎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡备徐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年萄传,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坦喘。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡盲再,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瓣铣,到底是詐尸還是另有隱情答朋,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布棠笑,位于F島的核電站梦碗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洪规,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一印屁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斩例,春花似錦雄人、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叉谜,卻和暖如春旗吁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背停局。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工很钓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人董栽。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓码倦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锭碳。 傳聞我的和親對象是個殘疾皇子叹洲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

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