• zookeeper单机集群搭建


    1. 下载zookeeper

    参考官方文档下载一节:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Download

    2. 创建zookeeper多实例

    创建一个zookeeper-cluster目录用来存放多个zookeeper实例(下载完成后解压,复制3分,每一份就是一个实例)。可以看到我的zookeeper-cluster目录下有三个zookeeper实例(如图1),对它们分别做如下配置:

    图1: zookeeper单机集群创建实例

    1. 配置conf/zoo.cfg

    图2: server-1的zoo.cfg配置文件

    • clientPort: zookeeper对客户端开发的端口号,默认为2181,我这里将三个实例分别改为了9200,9201,9202(只要不冲突就行了)
    • tickTime: 基本的时间单元,单位为毫秒
    • dataDir: 存放该实例数据的文件夹路径
    • initLimit: follower与leader初始化的时候需要进行连接的建立,这个初始化所需要的最大时间单位
    • syncLimit: follower与leader进行数据通信所需要的最大时间单位
    • admin.serverPort: 目前版本的zookeeper内嵌了一个jetty,默认运行在8080端口
    • server.1/2/3: 这里server后面的编号是每一个zookeeper实例的id编号,这个id在后面会讲是如何设置的,后面的值格式为ip:port1:port2,ip是本实例运行所在机器的ip地址,port1是当本实例作为一个follower时,与leader进行通信的端口号,port2是当leader不慎挂掉之后,重新执行选举时所用的端口号(不清楚为什么选举需要一个端口号)

    2. 在第一步中,有一个server.1/2/3,这个编号,在每个zookeeper实例的创建名为myid的文件,并写入数字作为该server的id编号,这里我对应的每个实例填写了1,2,3

    图3: zookeeper的dataDir路径下创建myid

    3. 启动集群

    在每个实例目录下执行

    ➜  zookeeper-3.5.2-server-1 ./bin/zkServer.sh start
    ➜  zookeeper-3.5.2-server-2 ./bin/zkServer.sh start
    ➜  zookeeper-3.5.2-server-3 ./bin/zkServer.sh start

    可以通过status查看它们的是leader还是master,以及一些其他信息

    ➜  zookeeper-3.5.2-server-1 ./bin/zkServer.sh status

    图4: 实例1运行的状态-它是一个follower

  • 相关阅读:
    面试:div水平垂直居中方案--img自适应
    面试:call、apply、bind原理以及自己手写简易模式
    面试之:判断js类型的方式总结
    git的项目完整操作
    vue3.x版本新建项目相关知识和注意事项
    面试常问平时项目中【Date】的常用操作方法总结
    面试常问平时项目中【Math】的常用操作方法总结
    面试常问平时项目中数组【Array】的常用操作方法总结
    面试常问平时用的对象【Object】的创建方式和常用的对象方法总结
    优化无限列表性能vue-virtual-scroll-list【测试90w条数据】
  • 原文地址:https://www.cnblogs.com/shiyu404/p/8944739.html
Copyright © 2020-2023  润新知