zookeeper单机和集群🔥

单机

注:提前配置java环境,zkCli.sh需要java环境

1.下载zookeeper的安装包

http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.10.tar.gz

2.解压zookeeper

  1. tar -zxvf zookeeper-3.4.10.tar.gz

3.cd 到 ZK_HOME/conf , copy一份zoo.cfg

  1. cp zoo_sample.cfg zoo.cfg

4.sh zkServer.sh

{start|start-foreground|stop|restart|status|upgrade|print-cmd}

5.进入客户端

  1. sh zkCli.sh -server ip:port

集群

假设现在有三台服务器:192.168.22.11,192.168.22.12,192.168.22.13

配置数据目录

  1. cd /usr/local/zookeeper
  2. mkdir data
  3. mkdir logs
  4. touch data/myid

更改zoo.cfg

  1. # 数据目录
  2. dataDir=/usr/local/zookeeper/data
  3. # 日志目录
  4. dataLogDir=/usr/local/zookeeper/logs
  5. # the port at which the clients will connect
  6. clientPort=2181
  7. # 集群配置
  8. server.1=192.168.22.11:21888:31888
  9. server.2=192.168.22.12:21888:31888
  10. server.3=192.168.22.13:21888:31888

修改data/myid

server.1 的配置中写1,以此类推,更改myid

启动验证

启动三台服务器的zookeeper

  1. [root@localhost zookeeper]# ./bin/zkServer.sh start
  2. ZooKeeper JMX enabled by default
  3. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  4. Starting zookeeper ... STARTED
  5. [root@localhost zookeeper]# ./bin/zkServer.sh status
  6. ZooKeeper JMX enabled by default
  7. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  8. Mode: follower

参数普及

  1. # zookeeper中最小的时间单位长度 (ms)
  2. tickTime=2000
  3. # follower节点启动后与leader节点完成数据同步的时间
  4. initLimit=10
  5. # leader节点和follower节点进行心跳检测的最大延时时间
  6. syncLimit=5
  7. # 表示zookeeper服务器存储快照文件的目录
  8. dataDir=/tmp/zookeeper
  9. # 表示配置 zookeeper事务日志的存储路径,默认指定在dataDir目录下
  10. dataLogDir
  11. # 表示客户端和服务端建立连接的端口号: 2181
  12. clientPort