Zookeeper應(yīng)用
來源:程序員人生 發(fā)布時間:2015-03-03 08:07:50 閱讀次數(shù):3615次
1、zookeeper配置文件簡介:
* zookeeper的配置文件在conf目錄下,有zoo_sample.cfg, 需要將zoo_sample.cfg 改成zoo.cfg,由于zookeeper在啟動時會找這個文件作為默許的配置文件。
* 參數(shù):
tickTime:zookeeper
服務(wù)器或客戶端與
服務(wù)器之間保持心跳時間間隔參數(shù)。每一個ticktime時間就會發(fā)送1個心跳。
dataDir : zookeeper數(shù)據(jù)存儲目錄。默許情況會把日志文件保存到這個目錄。
clientPort :zookeeper
服務(wù)器商品,zookeeper會監(jiān)聽這個端口,接受客戶真?zhèn)€要求。
2、集群模式:
zookeeper不但可以單機(jī)提供服務(wù),同時也支持多機(jī)組成集群來提供服務(wù)。實(shí)際上zookeeper還支持另外1種偽集群的方式,就是可以在1臺機(jī)器人上配置多個zookeeper實(shí)例。
配置(zoo.cfg):
initLimit=5
syncLimit=2
server.1=192.168.211.1:2888:3888
server.2=192.168.211.2:2888:3888
* initLimit :這個配置項(xiàng)是用來配置zookeeper接受客戶端初始化連接時最長能忍耐多少個心跳時間間隔數(shù)。
* syncLimit : leader與Follower之間發(fā)送消息、要求利用于時間長度,最長不能超過量少個ticktime的時間長度。
除修改zoo.cfg配置文件,集群模式下還要配置1個文件myid, 這個文件在dataDir目錄下,這個文件里面就是1個數(shù)據(jù)就是A的值,zookeeper啟動時會讀取這個文件,拿到里面的數(shù)據(jù)與zoo.cfg里面的配置信息從而判斷究竟是哪一個server。
3、利用場景
Zookeeper人設(shè)計(jì)模式的角度來看是1個視察者模式的散布式服務(wù)管理框架,負(fù)責(zé)存儲和管理大家關(guān)心的數(shù)據(jù),然后接受視察者的注冊,1旦這些數(shù)據(jù)產(chǎn)生變化,Zookeeper就會負(fù)責(zé)通知已注冊過了的那些observer做出相應(yīng)的反應(yīng),從而實(shí)現(xiàn)集群中類似的Master、Slave管理模式。
* 統(tǒng)1命名服務(wù)(Name Service)
散布式利用中,通常需要有1套完全的命名規(guī)則, 能夠產(chǎn)生唯1的名稱 又便于人辨認(rèn)和記住,通常情況下用樹形的名稱結(jié)構(gòu)是1個理想的選擇,樹形的名稱結(jié)構(gòu)是1個有層次的目錄結(jié)構(gòu),即對人友好又不會重復(fù)。 Name Service是Zookeeper內(nèi)置的功能, 只須調(diào)用其api就能夠?qū)崿F(xiàn)。如調(diào)用 create接口就能夠容易的創(chuàng)建 1個目錄節(jié)點(diǎn)。(與JNDI 差不多吧)
* 配置管理
配置的管理費(fèi)用在散布式利用環(huán)境中很常見,例猶如1個利用系統(tǒng)需要多個pc server運(yùn)行, 但是它們運(yùn)行的利用系統(tǒng)的某些配置項(xiàng)是相同的,如果要修改這些相同的的配置項(xiàng),那末就必須同時修改每臺運(yùn)行這個利用系統(tǒng)的PCserver 這樣非常容易出錯。 像這樣的配置信息完全可以交給zookeeper管理,將配置信息保存在zookeeper的某個目錄節(jié)點(diǎn)上,然后將所有需要修改的利用機(jī)器監(jiān)控配置信息的狀態(tài),1旦配置信息產(chǎn)生變化,每臺機(jī)器就會收zookeeper的通知。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈