zoukankan      html  css  js  c++  java
  • zookeeper集群

    1. 首先编辑每个Zookeeper目录下的conf/zoo.cfg文件。三个配置配置文件的内容分别如下

    1. $ cat /opt/zookeeper1/conf/zoo.cfg  
    2. tickTime=2000  
    3. dataDir=/opt/zookeeper1/data  
    4. clientPort=2181  
    5. initLimit=10  
    6. syncLimit=5  
    7. server.1=127.0.0.1:2881:3881  
    8. server.2=127.0.0.1:2882:3882  
    9. server.3=127.0.0.1:2883:3883  
    1. $ cat /opt/zookeeper2/conf/zoo.cfg  
    2. tickTime=2000  
    3. dataDir=/opt/zookeeper2/data  
    4. clientPort=2182  
    5. initLimit=10  
    6. syncLimit=5  
    7. server.1=127.0.0.1:2881:3881  
    8. server.2=127.0.0.1:2882:3882  
    9. server.3=127.0.0.1:2883:3883  
    1. $ cat /opt/zookeeper3/conf/zoo.cfg  
    2. tickTime=2000  
    3. dataDir=/opt/zookeeper3/data  
    4. clientPort=2183  
    5. initLimit=10  
    6. syncLimit=5  
    7. server.1=127.0.0.1:2881:3881  
    8. server.2=127.0.0.1:2882:3882  
    9. server.3=127.0.0.1:2883:3883  


    其中有几点需要注意
    * dataDir: 三个Zookeeper实例的dataDir目录要区别开,这里分别指定到各个Zookeeper实例目录下的data目录。
    * clientPort: 定义Zookeeper客户端连接Zookeeper服务端时使用的端口,这里因为是在一台机器上做的集群,所以三个实例的端口要区分开。
    * server.: 定义Zookeeper集群的各个实例的的ip和端口,这里因为是在一台机器上做的集群,所以IP都定义的是127.0.0.1,但是后面的端口要区分开。

    2. 创建data目录和实例id文件

    1. mkdir /opt/zookeeper1/data  
    2. mkdir /opt/zookeeper2/data  
    3. mkdir /opt/zookeeper3/data  
    4. echo 1 > /opt/zookeeper1/data/myid  
    5. echo 2 > /opt/zookeeper2/data/myid  
    6. echo 3 > /opt/zookeeper3/data/myid  

    这里要注意需要在每个Zookeeper的dataDir目录下创建myid文件,内容是记录各个Zookeeper的实例ID。

    3. 启动Zookeeper服务
    分别进入各个Zookeeper的bin目录,然后运行“./zkServer.sh start”来启动一个Zookeeper服务。

    4. 客户端连接
    随便进入一个Zookeeper的bin目录,然后运行下面的命令来分别连接Zookeeper服务。

    1. ./zkCli.sh -server 127.0.0.1:2181  
    2. ./zkCli.sh -server 127.0.0.1:2182  
    3. ./zkCli.sh -server 127.0.0.1:2183  

    在其中的一个client上创建一个znode节点

    1. create /mykey myvalue  

    然后在别的client上查看新创建zonde节点

    1. get /mykey  

    5. 查看Zookeeper状态
    启动Zookeeper之后,由于Zookeeper自己会有一套leader的选举算法,所以此时如果想知道那个Zookeeper是leader可以在各个Zookeeper的bin目录运行“./zkServer.sh status”命令来查看。

    如果是Leader

    1. $ ./zkServer.sh status  
    2. JMX enabled by default  
    3. Using config: /opt/zookeeper1/bin/../conf/zoo.cfg  
    4. Mode: leader  


    如果不是Leader

    1. $ ./zkServer.sh status  
    2. JMX enabled by default  
    3. Using config: /opt/zookeeper3/bin/../conf/zoo.cfg  
    4. Mode: follower  

    此时可以把leader的那个节点停了,然后再看查看其它两个Zookeeper实例,此时剩下的两个Zookeeper实例就会再选举出一个leader。

  • 相关阅读:
    MYSQL索引
    MYSQL 外键 on语句 多表查询
    MYSQL用户管理
    MYSQL数据类型 表基本操作 表记录增删改 单表查询
    JQuery 引用方式
    JQuery 元素操作 each循环
    Android EditText方框验证码 短信验证码攻略
    android MVP模式介绍与实战
    一些不错的Android开源音视频播放器
    Android可伸缩布局-FlexboxLayout(支持RecyclerView集成)
  • 原文地址:https://www.cnblogs.com/zenghui940/p/4950026.html
Copyright © 2011-2022 走看看