zoukankan      html  css  js  c++  java
  • ZooKeeper 部署

    集群模式

    1.  准备好三台互联网的 Linux 服务器,IP分别为192.169.0.1、192.168.0.2,192.168.0.3。并且每台服务器都安装了 Java 运行环境

    2. 下载 ZooKeeper 安装包,解压到一个目录,比如 /opt/zookeeper/ 目录下,同时约定 %ZK_HOME% 代表该目录

    3. 配置文件 zoo.cfg,初次使用 ZooKeeper,需要将 %ZK_HOME%/conf 目录下的 zoo_sample.cfg 文件拷贝一份为 zoo.cfg 并且按照如下代码进行简单配置即可:

      tickTime=2000
      dataDir=/opt/zookeeper/data/zk
      dataLogDir=/opt/zookeeper/logs/zk
      clientPort=2181
      initLimit=5
      syncLimit=2
      server.1=192.168.0.1:2888:3888
      server.2=192.168.0.2:2888:3888
      server.3=192.168.0.3:2888:3888
      • 集群模式下,集群中的每台机器都需要感知到整个集群是有哪几台机器组成,在配置文件中按照 server.id=host:port:port 配置,每一行都代表一个机器配置,其中 id 被称为 Server ID ,用来标识该机器在集群中的机器序列号,并且在每台 ZooKeeper 机器上都需要在数据目录 (dataDir=/opt/zookeeper/data/zk) 下创建一个 myid 文件,该文件只有一行内容,并且是一个数字,即对应于每台机器上的 Server ID 数字

      • 集群模式下,所有机器上的 zoo.cfg 文件的内容应该是一致的

      • myid 文件中只有一个数字,即一个 Server ID 。例如 server.1 的 myid 文件内容就是“1”。确保每台服务器的 myid 文件中的数字不同,并且和自己所在机器的 zoo.cfg 中  server.id=host:port:port 的 id 值一致, id 范围是 1~255

    4. 创建 myid 文件

    5. 按照相同的步骤,为其他服务器都配置好 zoo.cfg 和 myid 文件

    6. 启动服务,使用 %ZK_HOME%/bin 目录下的 zkServer.sh 脚本启动 ZooKeeper

      sh zkServer.sh start
      ZooKeeper JMX enabled by default
      Using config: /Users/chars/development/zookeeper/zookeeper-1/bin/../conf/zoo.cfg
      -n Starting zookeeper ... 
      STARTED
    7. 验证服务器,输入 telnet 192.168.0.1 2181 后再输入 stat 命令进行服务器启动验证

      ➜ telnet 127.0.0.1 2181
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      stat
      Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
      Clients:
       /127.0.0.1:64573[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0/0
      Received: 1
      Sent: 0
      Connections: 1
      Outstanding: 0
      Zxid: 0x1300000000
      Mode: leader
      Node count: 43

    单机模式

    1. 单机模式和集群模式配置上唯一的区别就在机器列表上,在单机模式的 zoo.cfg 文件中,只有 server.1 这一项
      tickTime=2000
      dataDir=/opt/zookeeper/data/zk
      dataLogDir=/opt/zookeeper/logs/zk
      clientPort=2181
      initLimit=5
      syncLimit=2
      server.1=192.168.0.1:2888:3888
    2. 验证服务器,输入 telnet 127.0.0.1 2181 后再输入 stat 命令进行服务器启动验证

      ➜ telnet 127.0.0.1 2181
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      stat
      Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
      Clients:
       /127.0.0.1:64623[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0/0
      Received: 1
      Sent: 0
      Connections: 1
      Outstanding: 0
      Zxid: 0x1300000003
      Mode: standalone
      Node count: 39
    3. 单机模式集群模式下输出的服务器验证信息基本一致,只有 Mode 属性不一样单机模式显示的是 standalone ,集群模式显示的是 leader,还有可能显示的是 follower

    伪集群模式

    1. 准备好三个 %ZK_HOME% ,/opt/zookeeper-1/、 /opt/zookeeper-2/、 /opt/zookeeper-3/

    2. 配置 zookeeper-1 的 zoo.cfg

      tickTime=2000
      dataDir=/opt/zookeeper/data/zk1
      dataLogDir=/opt/zookeeper/logs/zk1
      clientPort=2181
      initLimit=5
      syncLimit=2
      server.1=localhost:2888:3888
      server.2=localhost:2889:3889
      server.3=localhost:2890:3890
    3. 配置 zookeeper-2的 zoo.cfg

      tickTime=2000
      dataDir=/opt/zookeeper/data/zk2
      dataLogDir=/opt/zookeeper/logs/zk2
      clientPort=2182
      initLimit=5
      syncLimit=2
      server.1=localhost:2888:3888
      server.2=localhost:2889:3889
      server.3=localhost:2890:3890
    4. 配置 zookeeper-3的 zoo.cfg
      tickTime=2000
      dataDir=/opt/zookeeper/data/zk3
      dataLogDir=/opt/zookeeper/logs/zk3
      clientPort=2183
      initLimit=5
      syncLimit=2
      server.1=localhost:2888:3888
      server.2=localhost:2889:3889
      server.3=localhost:2890:3890
    5. 依次启动 zookeeper-1 、zookeeper-2 、zookeeper-3

    6. 验证服务器,输入 telnet 127.0.0.1 2181 后再输入 stat 命令进行服务器启动验证

      ➜ telnet 127.0.0.1 2181
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      stat
      Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
      Clients:
       /127.0.0.1:64867[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0/0
      Received: 1
      Sent: 0
      Connections: 1
      Outstanding: 0
      Zxid: 0x1300000003
      Mode: follower
      Node count: 39
    7. 验证服务器,输入 telnet 127.0.0.1 2182 后再输入 stat 命令进行服务器启动验证

      ➜ telnet 127.0.0.1 2182
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      stat
      Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
      Clients:
       /127.0.0.1:64878[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0/0
      Received: 1
      Sent: 0
      Connections: 1
      Outstanding: 0
      Zxid: 0x1400000000
      Mode: leader
      Node count: 39
    8. 验证服务器,输入 telnet 127.0.0.1 2183 后再输入 stat 命令进行服务器启动验证

      ➜ telnet 127.0.0.1 2183
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      stat
      Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
      Clients:
       /127.0.0.1:64881[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0/0
      Received: 1
      Sent: 0
      Connections: 1
      Outstanding: 0
      Zxid: 0x1300000003
      Mode: follower
      Node count: 39
  • 相关阅读:
    linux 基础笔记(一)
    wysiwyg加ckeditor加 代码高亮
    将html转换为Drupal模板文件的一般步骤
    最重要的7个Drupal内核模板文件
    drupal模板命名规则
    mysql存储过程和事件
    阿里云图片压缩上传代码
    BeanUtils No value specified for Date的解决方法
    mysql SQLyog导入导出csv文件
    mysql去除重复查询的SQL语句基本思路
  • 原文地址:https://www.cnblogs.com/cmdra/p/5907441.html
Copyright © 2011-2022 走看看