ZooKeeper之搭建偽叢集模式。
阿新 • • 發佈:2019-01-01
在叢集和單機兩種模式下,我們基本完成了分別針對生產環境和開發環境ZooKeeper服務的搭建,已經可以滿足絕大多數場景了。
現在我們再來看看另外一種情況,如果你手上有且只有一臺比較好的機器(大體是——CPU核數大於10,記憶體大於等於8GB),那麼這個時候,如果作為單機模式進行部署,資源明顯優點浪費;而如果像想要按照叢集模式來部署的話,那麼就需要藉助硬體上的虛擬化技術,把一臺物理機器轉換成幾臺虛擬機器,不過這樣操作成本太高。所幸,和其他分散式系統(如Hadoop)一樣,ZooKeeper也允許你在一臺機器上完成一個偽叢集的搭建。
所謂的偽叢集,用一句話說就是,叢集所有的機器都在一臺機器上,但是還是以叢集的特性來對外提供服務。這種模式和叢集模式非常類似,只是把zoo.cfg做了如下修改:
在zoo.cfg配置中,每一行的機器列表配置都是同一個IP地址:IP1,但是後面的埠配置都已經不一樣了。這其實不難理解,在同一臺機器上啟動多個程序,就必須繫結不同的埠。tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=IP1:2888:3888
server.2=IP1:2889:3889
server.3=IP1:2890:3890