ZooKeeper集群搭建

zookeeper集群搭建,由于机器性能限制,集群只安装在一个linux系统中,搭建伪集群模式。

工具及安装包:VMware虚拟机、xshell5、Centos 6.9、jdk-7u80-linux-x64.tar.gz、zookeeper-3.4.12.tar.gz。

注意:zookeeper3.5版本以上的下载包中,没有zookeeper相关jar包,所以,可选用3.4版本zookeeper使用。

1、安装jdk。

  下载jdk安装包(使用版本1.7),上传linux(如果是全新的系统,可能遇到“rz: command not found”错误,此时yum -y install lrzsz即可),解压。修改/etc/profile文件,增加:

  

如图,其中/usr/local/java为jdk安装目录。修改好并保存配置,重启linux系统或者使用source /etc/profile使得配置在当前窗口立即生效。

2、安装zookeeper

  zookeeper集群,一般机器数为大于3的奇数个,这样,即使集群中的主机leader挂了,机器数量还是可以保证在半数之上,可以继续投票选举出新的主机leader提供服务。

  本次使用3个zookeeper应用搭建伪集群,本次虚拟机ip:192.168.9.199,zookeeper服务监听端口分别为:2181,2182,2813,投票选举端口分别为2881/3881、2882/3882、2883/3883。

  2.1、上传zookeeper安装包,本文上传目录/usr/cfangData/tarFile

  2.2、解压并维护目录

    tar -zxf zookeeper-3.4.12.tar.gz

    将解压后的zookeeper目录重命名,便于查看管理:mv zookeeper-3.4.12 /usr/cfangData/zk01

  2.3、提供缓存数据目录

    在zk01目录下,创建data目录,用于缓存应用的运行数据

    cd zk01

    mkdir data

  2.4、设置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 - 2181、zk02 - 2182、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.6、设置唯一性标识

    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.5、复制zk01应用,用于模拟集群的3个节点

    cp -r zk01 zk02

    cp -r zk01 zk03

  2.6、修改zk02、zk02配置信息

    (1)修改zk02、03的myid文件,分别设置为2,3

    (2)修改zk02、03的zoo.cfg文件,分别clientPort=2182、clientPort=2183

  2.7、启动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节点,zk01、03为follower节点。

  2.8、关闭zookeeper服务

    zk01/bin/zkServer.sh stop

原文地址:https://www.cnblogs.com/eric-fang/p/9283904.html