安装步骤

1.下载安装包,并解压到预定目录
2.部署步骤:

  1. #生成配置
  2. cp conf/zoo_simple.cfg conf/zoo.cfg
  3. ##单机
  4. #修改配置
  5. vim conf/zoo.cfg
  6. dataDir=数据文件存放目录
  7. #启动
  8. sh bin/zkServer.sh start
  9. ##集群
  10. #修改配置
  11. vim conf/zoo.cfg
  12. dataDir=数据文件存放目录
  13. server.1=ip1:2888:3888
  14. server.2=ip1:2888:3888
  15. #创建myid文件,根据上步配置的server不同,写入对应的值
  16. cat > $dataDir/myid << 1
  17. #将配置文件分发到各各服务器
  18. scp zookeeper username@ip:/home/username/
  19. #在各各服务器启动程序
  20. sh bin/zkServer.sh start
  21. #检查状态
  22. sh bin/zkServer.sh status

zoo.cfg配置说明

:::info tickTime
#基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime

dataDir
#存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

client
#监听客户端连接的端口。

initLimit
#允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

syncLimit
#表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

server.A=B:C:D
#A:其中 A 是一个数字,表示这个是服务器的编号;
#B:是这个服务器的 ip 地址;
#C:Zookeeper服务器之间的通信端口;
#D:Leader选举的端口。 :::

可能遇到的问题:

1.8080端口占用:

zoo.cfg中修改AdminServer的端口:admin.serverPort=8888