02-zk-单机部署

zookeeper-单机部署

一、准备

  • 创建目录
    mkdir zk
    mkdir -p zk/data #存放快照日志

二、下载安装包

2.1 下载

2.2 解压

  • tar -zxvf zookeeper-3.4.12.tar.gz

三、修改配置

  • zoo_sample.cfg 这个文件是官方给我们的zookeeper的样板文件,给他复制一份命名为zoo.cfg,zoo.cfg是官方指定的文件命名规则。配置文件路径在conf文件夹下面
sudo cp zoo_sample.cfg zoo.cfg

3.1 核心配置

dataDir=/opt/zookeeper/zkdata
clientPort=2181
单机版其他配置都可以默认,修改dataDir数据保存的目录即可。默认是在临时路径下面

四、启动,查看,关闭

4.1 启动

  • 启动:进入bin目录,启动zookeeper:./zkServer.sh start
  • 验证:jps命令查看活动的java进程(或者查看2181端口)
50429 Jps
50399 QuorumPeerMain

4.2 查看

  • 状态:./zkServer.sh status。这里展示了zk的运行模式是单点模式
ZooKeeper JMX enabled by default
Using config: /home/intellif/zk/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: standalone

4.3 关闭

  • 停止:./zkServer.sh stop

4.4 重启

  • 重启:./zkServer.sh restart

4.5 帮助

  • 帮助:输入./zkServer.sh会打印出命名帮助,如下:
XXX$ ./zkServer.sh 
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

五、客户端

5.1 命令行

  • 进入zk的bin路径,执行./zkCli.sh(Windows下是zkCli.cmd),连接zk。
  • 输入help,查看帮助命令
  • 如create命令创建节点,get命令查看节点信息等。

5.2 可视化客户端

  • ZooInspector:
解压ZooInspector.zip后,
在ZooInspector\build\目录下,直接执行java -jar ./zookeeper-dev-ZooInspector.jar即可

六、Zookeeper目录结构

目录作用
bin存放系统脚本
conf存放配置文件
dist-mavenmaven仓库文件
lib依赖的第三方库
srczk源码
clientzk客户端
contribzk附加功能支持
docszk文档
it系统测试相关的帮助类
recipes经典场景样例代码
serverzk server代码
  • 其中bin和conf是非常重要的两个目录,平时也是经常使用的。

七、Zookeeper核心配置解析

  • zookeeper的默认配置不多,部署单机版的时候,大部分配置都可以默认,注意修改下数据保存的目录即可(默认在tmp临时目录下)
# 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.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
#数据存储目录
dataDir=/tmp/zookeeper
# the port at which the clients will connect
# 端口
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
配置释义
tickTimeZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime
initLimitFollower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。
syncLimit在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。
maxClientCnxns单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。请注意这个限制的使用范围,仅仅是单台客户端机器与单台ZK服务器之间的连接数限制,不是针对指定客户端IP,也不是ZK集群的连接数限制,也不是单台ZK对所有客户端的连接数限制。
autopurge.purgeInterval3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表不开启自动清理功能。
autopurge.snapRetainCount这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。
  • 一般在生产环境下,我们要将autopurge.purgeInterval这个选项打开,设置为12或者24小时或者其他时间,根据生产环境而定。之后可以将dataDir这个配置项设置为zookeeper的安装目录,这个是可选的。 clientPort这个视情况而定,如果你要在一台机器上部署多个zookeeper,那么就需要将端口号换掉,和其他zookeeper的端口号隔离开来。

八、小结

  • 本文我们主要是针对单机版的部署、使用和简单的配置进行说明。单机版的部署无论是操作步骤还是配置都是比较简单的,
    如果是集群的部署,相关的配置会多一些,在后面的文章中学习,按照本文可以比较轻松的搭建单机的zookeeper环境。

九、参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值