olga 发表于 2019-1-8 12:09:15

zookeeper伪集群搭建

  zookeeper下载地址
  http://mirrors.cnnic.cn/apache/zookeeper/
  

  解压zookeeper的tar.gz文件,配置修改配置conf
  

  1,将conf目录下的zoo_sample.cfg 拷贝3分 zoo1.cfg,zoo2.cfg,zoo3.cfg
  

  重要配置参数说明:
  tickTime
  Zookeeper使用的基本时间,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间
  

  dataDir
  保存内存数据库快照信息的位置,如果没有其他说明,更新的事务日志也保存到数据库。
  

  clientPort
  监听客户端连接的端口。
  

  注意:配置中会有以下参数,server.1 这里的1即为dataDir下myid文件(在后面有创建说明)里的数字,可任意配置,推荐为ip最后一个
  localhost后面有两个端口,第一个端口为leader和follower数据交换端口
  第二个为leader选举端口,如leader宕了,可以重新选举
  注意:zookeeper集群数量最好为奇数个,因为 zookeeper有一个检测机制,如果zookeeper集群成员数量宕机数超过或等于一半,则这个集群就挂掉了
  server.1=localhost:2888:3888
  

  ###############################################################
  

  1,zoo1.cfg:
  ---------------------------
  

  tina@ubuntu:~/zookeeper/conf$ cat zoo1.cfg
  # 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.
  dataDir=/home/sina/zookeeper/data
  # the port at which the clients will connect
  clientPort=2181
  server.1=localhost:2888:3888
  server.2=localhost:2889:3889
  server.3=localhost:2890:3890
  

  

  ###############################################################
  

  2,zoo2.cfg
  ----------------------------------------------------------------
  

  tina@ubuntu:~/zookeeper/conf$ more zoo2.cfg
  # 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.
  dataDir=/home/sina/zookeeper/data1
  # the port at which the clients will connect
  clientPort=2182
  server.1=localhost:2888:3888
  server.2=localhost:2889:3889
  server.3=localhost:2890:3890
  

  ###############################################################
  

  3,zoo3.cfg
  -----------------------------------------------------------------------
  

  tina@ubuntu:~/zookeeper/conf$ more zoo3.cfg
  # 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.
  dataDir=/home/sina/zookeeper/data2
  # the port at which the clients will connect
  clientPort=2183
  server.1=localhost:2888:3888
  server.2=localhost:2889:3889
  server.3=localhost:2890:3890
  ###############################################################
  

  创建myid:分别在 /data,data1,data2,下建立myid 文件,内容分别是1,2,3(这里的data,data1,data2 即配置文件里dataDir指定文件夹)
  

  ---------------------------------
  启动zookeeper服务
  

  1. 启动ZK服务:       sh bin/zkServer.sh start
  2. 查看ZK服务状态: sh bin/zkServer.sh status
  3. 停止ZK服务:       sh bin/zkServer.sh stop
  4. 重启ZK服务:       sh bin/zkServer.sh restart
  

  分别启动1,2,3:
  

  ./zkServer.sh start zoo1.cfg
  

  ./zkServer.sh start zoo2.cfg
  

  ./zkServer.sh start zoo3.cfg
  

  命令行操作:
  

  ./zkCli.sh -server localhost:2181 用zookeeper的zkCli.sh 连接客户端
  

  ls / 可以查看/下的节点
  create - 在树形结构的位置中创建节点
  delete - 删除一个节点(如果这个节点下还有节点,需要把下面节点删除,才能删除这个节点)
  exists - 测试节点在指定位置上是否存在
  get data - 从节点上读取数据
  set data - 往节点写入输入
  get chilren - 检索一个节点的子节点列表
  sync - 等待传输数据
  

  推荐:如果想了解更详细信息zookeeper原理和使用,可以查看官方文档,或者官网翻译网页http://zookeeper.majunwei.com/
  




页: [1]
查看完整版本: zookeeper伪集群搭建