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