• 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

  • 相关阅读:
    C++设计模式——代理模式
    C++设计模式——享元模式
    C++设计模式——外观模式
    C++设计模式——装饰模式
    C++设计模式——组合模式
    C++设计模式——桥接模式
    C++设计模式——适配器模式
    C++设计模式——原型模式
    云服务器和虚拟主机的区别
    ES6的Module系统
  • 原文地址:https://www.cnblogs.com/eric-fang/p/9283904.html
Copyright © 2020-2023  润新知