Zookeeper基础
目录结构
目录 | 作用 |
---|---|
bin | 存放系统脚本 |
conf | 存放配置文件 |
contrib | zk附加功能支持 |
dist-maven | maven仓库文件 |
docs | zk文档 |
lib | 依赖的第三方库 |
recipes | 经典场景样例代码 |
src | zk源码 |
其中bin和conf是非常重要的两个目录,平时也是经常使用的。
bin
脚本 | 作用 |
---|---|
zkServer | 运行服务端,启动后默认端口为2181 |
zkCli | 运行行客户端 |
zkCleanup | 清理Zookeeper历史数据,包括食物日志文件和快照数据文件 |
zkEnv | 设置Zookeeper的环境变量 |
conf
Conf目录为配置文件存放的目录,zoo.cfg为核心的配置文件
在这挑选几个讲解:
clientPort:参数无默认值,必须配置,用于配置当前服务器对外的服务端口,客户端必须使用这端口才能进行连接
dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)
dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
dataDir:新安装zk这文件夹里面是没有文件的,可以通过snapCount参数配置产生快照的时机
以下配置集群中才会使用
tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。
客户端命令
使用 zkCli.sh -server 127.0.0.1:2181 连接到 ZooKeeper 服务,连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息。 命令行工具的一些简单操作如下:
- 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
- 显示根目录下、文件: ls2 /查看当前节点数据并能看到更新次数等数据
- 创建文件,并设置初始内容: create /zk “test” 创建一个新的 znode节点“ zk ”以及与它关联的字符串 [-e] [-s] 【-e 零时节点】 【-s 顺序节点】
- 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串 [watch]【watch 监听
- 修改文件内容: set /zk “zkbak” 对 zk 所关联的字符串进行设置
- 删除文件: delete /zk 将刚才创建的 znode 删除,如果存在子节点删除失败
- 递归删除:rmr /zk将刚才创建的 znode 删除,子节点同时删除
- 退出客户端: quit 帮助命令: help