極速下載站 —— 提供優(yōu)質(zhì)軟件下載服務(wù),感受全新的極速下載體驗(yàn)!

最近更新 | 軟件專題 | 軟件分類 | 軟件排行

您的位置:極速下載站資訊首頁(yè)軟件教程軟件資訊 → zookeeper的單機(jī)模式和偽集群模式

zookeeper的單機(jī)模式和偽集群模式

時(shí)間:2019-07-29 17:14:01  作者:Dorise  瀏覽量:65

大家好!小編今天就來(lái)談一下zookeeper,zookeeper是做什么的?ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。ZooKeeper包含一個(gè)簡(jiǎn)單的原語(yǔ)集, 提供Java和C的接口。

首先在官網(wǎng)上下載zookeeper安穩(wěn)版本, 下載zookeeper-3.4.6.tar.gz,我下載的是3.4.6,不算太新也不算太舊。
zookeeper是一個(gè)分布式使用所設(shè)計(jì)的分布的、開(kāi)源的和諧服務(wù),它主要是用來(lái)處理分布式使用中常常遇到的一些數(shù)據(jù)辦理問(wèn)題,簡(jiǎn)化分布式使用,和諧及其辦理的難度,進(jìn)步功能的分布式服務(wù)。
zookeeper本身是能夠以Standalone形式裝置運(yùn)轉(zhuǎn),不過(guò)它在分布式Zookeeper集群中(一個(gè)Leader,多個(gè)Follower),根據(jù)推舉算法來(lái)保證zookeeper集群的安穩(wěn)性和可用性,從而保證了分布式的可靠性。
一、單機(jī)形式裝置
1、解壓到自己恣意磁盤下,我的方位是D:\zookeeper-3.4.

2、仿制zoo_sample.cfg 重命名為zoo.cfg。
zoo.cfg中的內(nèi)容如下:

圖:

圖:

zookeeper的單機(jī)模式和偽集群模式圖1


其間dataDir為zookeeper數(shù)據(jù)存放方位,zookeeper將寫(xiě)數(shù)據(jù)的日志文件保存在這個(gè)目錄里。
dataLogDir是日志文件。
clientPort=2181是zookeeper端口,咱們連接zookeeper的端口,zookeeper會(huì)監(jiān)聽(tīng)這個(gè)端口,接納客戶端拜訪懇求。
tickTime:zookeeper服務(wù)器之間,或者zookeeper客戶端與服務(wù)器之間維持的心跳的時(shí)刻距離,每隔tickTime時(shí)刻,會(huì)履行一次。(心跳證明活著,心跳時(shí)刻便是超時(shí)設(shè)置時(shí)刻,能夠理解為客戶端和服務(wù)器端的session)

3 、轉(zhuǎn)到D盤的zookeeper bin目錄下,履行zkServer.cmd,這樣就發(fā)動(dòng)了zookeeper服務(wù)了。
4、查看zookeeper運(yùn)轉(zhuǎn)情況:D:\zookeeper-3.4.6\bin>zkCli.cmd-server 127.0.0.1:2181。
這樣就完成了zookeeper windows單機(jī)形式裝置。
二、偽集群形式裝置
在一臺(tái)PC上發(fā)動(dòng)多個(gè)Zookeeper實(shí)例,同一個(gè)不同的端口,來(lái)完成微集群。
簡(jiǎn)略原理:
推舉算法,有興趣的同學(xué)能夠看看,后續(xù)篇章中會(huì)臚陳。
1、修正加載的配置文件。在D:\zookeeper-3.4.6\conf 下仿制zoo.cfg重命名為zoo1.cfg ,zoo2.cfg,zoo3.cfg

圖:

zookeeper的單機(jī)模式和偽集群模式圖2

修正以下如下:

圖:

zookeeper的單機(jī)模式和偽集群模式圖3
zoo1.cfg 文件修正dataDir目錄為D:\\data\\zookeeper\\1,修正clientPort為2181 ,同時(shí)增加server.1=localhost:2887:3887
server.2=localhost:2888:3888 server.3=localhost:2889:3889
server.num=ip/domain:Port1:Port2

其間num:表示數(shù)字表示第幾號(hào)服務(wù)器;ip/domain :是服務(wù)器域名或者ip地址。Port1:表示這個(gè)服務(wù)器和集群中的Leader服務(wù)器交換信息的端口;Port2:表示如果集群中的Leader服務(wù)器掛了,需要一個(gè)端口從頭進(jìn)行推舉,選出一個(gè)新的Leader,這個(gè)端口便是用來(lái)履行推舉時(shí)服務(wù)器彼此通訊的端口。 由于咱們是偽集群,所以ip或者域名是一樣的,所以要分配不同的端口號(hào)。
zoo2.cfg也是如此修正,copy zoo1.cfg 只需修正上述紅色標(biāo)記的即可,\\2 clientPort=2182 ,類推,zoo2.cfg修正clientPort為2183 。
2、修正命令,加載不同的配置。仿制zkServer.cmd而且重命名為,zkServer-1.cmd,zkServer-2.cmd,zkServer-3.cmd 別離修正這三個(gè)cmd如下所示。

圖:

12下一頁(yè)>

相關(guān)資訊