1. 程式人生 > >ZooKeeper之搭建偽叢集模式。

ZooKeeper之搭建偽叢集模式。

        在叢集單機兩種模式下,我們基本完成了分別針對生產環境和開發環境ZooKeeper服務的搭建,已經可以滿足絕大多數場景了。

        現在我們再來看看另外一種情況,如果你手上有且只有一臺比較好的機器(大體是——CPU核數大於10,記憶體大於等於8GB),那麼這個時候,如果作為單機模式進行部署,資源明顯優點浪費;而如果像想要按照叢集模式來部署的話,那麼就需要藉助硬體上的虛擬化技術,把一臺物理機器轉換成幾臺虛擬機器,不過這樣操作成本太高。所幸,和其他分散式系統(如Hadoop)一樣,ZooKeeper也允許你在一臺機器上完成一個偽叢集的搭建。

        所謂的偽叢集,用一句話說就是,叢集所有的機器都在一臺機器上,但是還是以叢集的特性來對外提供服務。這種模式和叢集模式非常類似,只是把zoo.cfg做了如下修改:

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

        在zoo.cfg配置中,每一行的機器列表配置都是同一個IP地址:IP1,但是後面的埠配置都已經不一樣了。這其實不難理解,在同一臺機器上啟動多個程序,就必須繫結不同的埠。