温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

zookeeper伪集群的安装和配置方法

发布时间:2021-06-29 14:54:44 来源:亿速云 阅读:117 作者:chen 栏目:大数据

本篇内容主要讲解“zookeeper伪集群的安装和配置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zookeeper伪集群的安装和配置方法”吧!

  1. zookeeper 安装 配置

        mkdir -p /opt/zookeeper


    如果是win 直接运行bin下的.cmd后缀启动文件 如果是linux和mac直接运行bin下的.sh启动文件

    • centos7安装有wget安装和从官网下载安装,wget比较慢,建议从官网下载安装。 官网地址 https://zookeeper.apache.org/ 下载记得选http镜像别的镜像下不下来, 选择镜像查看-> https://jingyan.baidu.com/album/335530dafd4b3619cb41c3d8.html 教程

    • zookeeper安装不区分win、linux、mac 直接解压。下载带bin的是只有class文件的,不带bin的是有java文件的都行建议下带bin的,文件小。

    • zookeeper安装包解压配置启动就能用,创建/opt/zookeeper存放解压后的zookeeper

  2. 配置伪集群

        cp -a zoo_sample.cfg zoo.cfg

     

        mkdir -p /root/kch/zkw/zookeeper/data
        mkdir -p /root/kch/zkw/zookeeper/logs

     

        # The number of milliseconds of each tick
        tickTime=2000
        # The number of ticks that the initial
        # synchronization phase can take
        initLimit=10
        # The number of ticks that can pass between
        # sending a request and getting an acknowledgement
        syncLimit=5
        # the directory where the snapshot is stored.
        # do not use /tmp for storage, /tmp here is just
        # example sakes.
        dataDir=/root/kch/zkw/zookeeper/data
        dataLogDir=/root/kch/zkw/zookeeper/logs
        # the port at which the clients will connect
        clientPort=2181
        # the maximum number of client connections.
        # increase this if you need to handle more clients
        #maxClientCnxns=60
        #
    
        ▽
        # Be sure to read the maintenance section of the
        # administrator guide before turning on autopurge.
        #
        # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
        #
        # The number of snapshots to retain in dataDir
        #autopurge.snapRetainCount=3
        # Purge task interval in hours
        # Set to "0" to disable auto purge feature
        #autopurge.purgeInterval=1

     

        tickTime=2000
        dataDir=/root/kch/zkw/zookeeper/data
        dataLogDir=/root/kch/zkw/zookeeper/logs
        clientPort=2181


    参数说明:

        bin/zkServer.sh start


    Server启动之后,查看zookeeper状态:

        bin/zkServer.sh status


    然后就可以启动client连接server了, 执行脚本:

        bin/zkCli.sh -server localhost:2181


    伪集群模式 所谓伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例.

    将zookeeper的目录拷贝2份:

        |--zookeeper0
        |--zookeeper1
        |--zookeeper2


    更改zookeeper0/conf/zoo.cfg文件为:

        tickTime=2000
        initLimit=10
        syncLimit=5
        dataDir=/root/kch/zkw/zookeeper0/data
        dataLogDir=/root/kch/zkw/zookeeper0/logs
        clientPort=2180
        server.0=127.0.0.1:8880:7770
        server.1=127.0.0.1:8881:7771
        server.2=127.0.0.1:8882:7772


    新增了几个参数, 其含义如下:

    参照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort参数即可.

    在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应. 如果是windows可以创建myid.txt然后里边写数字,最后再修改文件格式去掉后缀 example:

        echo 0 > /root/kch/zkw/zookeeper0/data/myid


    /root/kch/zkw/zookeeper0/data/myid文件中写入0 /root/kch/zkw/zookeeper1/data/myid文件中写入1 /root/kch/zkw/zookeeper2/data/myid文件中写入2 分别进入/opt/zookeeper/zookeeper0/bin, /opt/zookeeper/zookeeper1/bin, /opt/zookeeper/zookeeper2/bin三个目录, 启动server. 任意选择一个server目录, 启动客户端:

        bin/zkCli.sh -server localhost:2180


    • initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.

    • syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.

    • server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.

    • tickTime: zookeeper中使用的基本时间单位, 毫秒值. dataDir: 数据目录. 可以是任意目录. dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置. clientPort: 监听client连接的端口号. 至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:

    • 配置zoo.cfg

    • zoo.cfg内容

    • 创建zookeeper的数据存放目录和日志目录

    • 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:

  3. 集群模式

        tickTime=2000
        initLimit=5
        syncLimit=2
        dataDir=/root/kch/zkw/zookeeper/data
        dataLogDir=/root/kch/zkw/zookeeper/logs
        clientPort=2180
        server.0=10.1.39.43:2888:3888
        server.1=10.1.39.47:2888:3888
        server.2=10.1.39.48:2888:3888

     

    10.1.39.43 server的myid为0
    10.1.39.47 server的myid为1
    10.1.39.48 server的myid为2


    • 示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.

    • 集群模式的配置和伪集群基本一致. 由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样. 下面是一个示例:

到此,相信大家对“zookeeper伪集群的安装和配置方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI