ZooKeeper集羣搭建

zookeeper集羣搭建,因爲機器性能限制,集羣只安裝在一個linux系統中,搭建僞集羣模式。java

工具及安裝包:VMware虛擬機、xshell五、Centos 6.九、jdk-7u80-linux-x64.tar.gz、zookeeper-3.4.12.tar.gz。linux

注意:zookeeper3.5版本以上的下載包中,沒有zookeeper相關jar包,因此,可選用3.4版本zookeeper使用。shell

一、安裝jdk。緩存

  下載jdk安裝包(使用版本1.7),上傳linux(若是是全新的系統,可能遇到「rz: command not found」錯誤,此時yum -y install lrzsz便可),解壓。修改/etc/profile文件,增長:工具

  

如圖,其中/usr/local/java爲jdk安裝目錄。修改好並保存配置,重啓linux系統或者使用source /etc/profile使得配置在當前窗口當即生效。性能

二、安裝zookeeperui

  zookeeper集羣,通常機器數爲大於3的奇數個,這樣,即便集羣中的主機leader掛了,機器數量仍是能夠保證在半數之上,能夠繼續投票選舉出新的主機leader提供服務。spa

  本次使用3個zookeeper應用搭建僞集羣,本次虛擬機ip:192.168.9.199,zookeeper服務監聽端口分別爲:2181,2182,2813,投票選舉端口分別爲2881/388一、2882/388二、2883/3883。server

  2.一、上傳zookeeper安裝包,本文上傳目錄/usr/cfangData/tarFileblog

  2.二、解壓並維護目錄

    tar -zxf zookeeper-3.4.12.tar.gz

    將解壓後的zookeeper目錄重命名,便於查看管理:mv zookeeper-3.4.12 /usr/cfangData/zk01

  2.三、提供緩存數據目錄

    在zk01目錄下,建立data目錄,用於緩存應用的運行數據

    cd zk01

    mkdir data

  2.四、設置zookeeper配置文件

    zookeeper解壓後的子目錄conf中,默認存在zoo_sample.cfg配置文件模板。

    zookeeper應用中的讀取的配置文件爲zoo.cfg,拷貝默認配置文件:cp zoo_sample.cfg zoo.cfg

    修改zoo.cfg配置文件(vi zoo.cfg):

      (1)設置數據的緩存路徑(根據本身的實際應用地址設置,默認爲 /tmp/zookeeper):dataDir=/usr/cfangData/zk01/data

      (2)設置服務、投票、選舉端口

        clientPort=2181    #zookeeper服務端口,zk01 - 218一、zk02 - 218二、zk03 - 2183

        #如下爲投票選舉配置,三份zookeeper徹底一致

        server.1=192.168.9.199:2881:3881

        server.2=192.168.9.199:2882:3882

        server.3=192.168.9.199:2883:3883

  2.六、設置惟一性標識

    zookeeper集羣中,每一個節點須要一個惟一性的標識。要求天然數且在集羣中惟一,保存路徑爲$dataDir/myid,其中dataDir爲2.4中zoo.cfg設置的路徑。

    兩種方式創建標識文件:

      方式一:在zookeeper的子目錄data中,建立文件muid:touch myid

         爲應用提供惟一性標識,本次配置中,三個zookeeper分別設置爲1,2,3。

         vi myid,

      方式二:echo  惟一性標識 >> myid,例:echo 1 >> myid

  2.五、複製zk01應用,用於模擬集羣的3個節點

    cp -r zk01 zk02

    cp -r zk01 zk03

  2.六、修改zk0二、zk02配置信息

    (1)修改zk0二、03的myid文件,分別設置爲2,3

    (2)修改zk0二、03的zoo.cfg文件,分別clientPort=218二、clientPort=2183

  2.七、啓動zookeeper

    zookeeper子目錄bin中,zkServer.sh爲啓動文件,啓動命令:zk01/bin/zkServer.sh start 

    zk02/bin/zkServer.sh start 

    zk03/bin/zkServer.sh start 

    zookeeper集羣,因爲須要選舉出主服務leader節點,至少啓動2個zk服務。啓動完成,能夠使用zk01/bin/zkServer.sh status命令查看節點狀態

    Mode: leader   - 主機、Mode: follower   - 備份機

    如圖:

    

    其中jps查看java進程,三個QuorumPeerMain即爲zookeeper的進程信息。

    圖中zk02爲leader節點,zk0一、03爲follower節點。

  2.八、關閉zookeeper服務

    zk01/bin/zkServer.sh stop

相關文章
相關標籤/搜索