Zookeeper基本使用

Posted ITdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper基本使用相关的知识,希望对你有一定的参考价值。

目录

  • bin:放置运行脚本和工具脚本,如果是 Linux 环境还会有有 zookeeper 的运 行日志 zookeeper.out

  • conf:zookeeper 默认读取配置的目录,里面会有默认的配置文件

  • contrib:zookeeper 的拓展功能

  • dist-maven:zookeeper的 maven 打包目录

  • docs:zookeeper 相关的文档

  • lib:zookeeper 核心的 jar

  • recipes:zookeeper 分布式相关的 jar 包

  • src:zookeeper 源码

启动服务

  • .cmd是windows环境下命令

  • .sh是Linux环境下命令
    bin文件夹下

  • zkServer:启动服务

  • zkEnc:设置启动时的环境变量

  • zkCli :客户端

  • zkCleanup:清理zookeeper历史数据 -包括事务日志文件和快照数据文件

  • zkServer-initialize :初始化

配置环境

在conf目录下的*.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.
# 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

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
  • tickTime: ZooKeeper 中使用的基本时间单元, 以毫秒为单位, 默认值是 2000。它用来调节心跳和超时。例如,
    默认的会话超时时间是两倍的 tickTime。
  • initLimit: 默认值是 10, 即 tickTime 属性值的 10 倍。它用于配置允许 followers 连接并同步到
    leader 的最大时间。如果 ZooKeeper 管理的数据量很大的话可以增加这个值。
  • syncLimit: 默认值是 5, 即 tickTime 属性值的 5 倍。它用于配置leader 和 followers
    间进行心跳检测的最大延迟时间。如果在设置的时间内 followers 无法与 leader 进行通信, 那么 followers
    将会被丢弃。
  • dataDir: ZooKeeper 用来存储内存数据库快照的目录, 并且除非指定其它目录,
    否则数据库更新的事务日志也将会存储在该目录下。建议配置 dataLogDir 参数来指定 ZooKeeper 事务日志的存储目录。
  • clientPort: 服务器监听客户端连接的端口, 也即客户端尝试连接的端口, 默认值是 2181。
  • maxClientCnxns: 在 socket 级别限制单个客户端与单台服务器之前的并发连接数量, 可以通过 IP
    地址来区分不同的客户端。它用来防止某种类型的 DoS 攻击, 包括文件描述符耗尽。默认值是 60。将其设置为 0
    将完全移除并发连接数的限制。
  • autopurge.snapRetainCount: 配置 ZooKeeper
    在自动清理的时候需要保留的数据文件快照的数量和对应的事务日志文件, 默认值是 3。
  • autopurge.purgeInterval: 和参数 autopurge.snapRetainCount 配套使用, 用于配置
    ZooKeeper 自动清理文件的频率, 默认值是 1, 即默认开启自动清理功能, 设置为 0 则表示禁用自动清理功能。

基础命令

  • ls /
    可以查看所有的节点
    查看所有节点

  • create 节点路径 节点值
    创造一个节点
    创建节点

  • get 节点路径
    获取到节点的值
    获取节点

  • set 节点路径 节点值 (版本号)
    修改节点值
    设置节点值

  • delete 节点路径 (版本号)
    删除节点
    删除节点

四字命令

  • conf :3.3.0 中的新增版:打印有关服务配置的详细信息。

  • cons :3.3.0 中的新增信息:列出连接到此服务器的所有客户端的完整连接/会话详细信息。包括接收/发送的数据包数量、会话 ID、操作延迟、执行的最后操作等信息。。。

  • crst : 3.3.0 中的新增信息:重置所有连接的连接/会话统计。

  • dump : 列出未完成的会话和临时节点。

  • envi : 打印有关服务环境的详细信息

  • ruok : 测试服务器是否处于非错误状态。如果服务器正在运行,它将以 imok 响应。否则,它将不会作出回应。对"imok"的响应并不一定表明服务器已加入法定人数,只是服务器过程处于活动状态并绑定到指定的客户端口。使用"统计"来了解州法定人数和客户端连接信息的详细信息。

  • srst : 重置服务器统计信息。

  • srvr : 3.3.0 中的新增信息:列出服务器的完整详细信息。

  • stat : 列出服务器和已连接客户端的简要详细信息。

  • wchs :3.3.0 中的新增信息:列出服务器手表的简短信息。

  • wchc : 3.3.0 中的新增信息:按会话列出服务器手表的详细信息。这将输出与相关手表(路径)的会话(连接)列表。请注意,根据此操作可能昂贵的手表数量(即影响服务器性能),请小心使用。

  • dirs : 3.5.1 中的新增信息:显示快照和日志文件的总大小

  • wchp : 3.3.0 中的新增信息:按路径列出服务器手表上的详细信息。这将输出与关联会话相关的路径(znodes)列表。请注意,根据此操作可能昂贵的手表数量(即影响服务器性能),请小心使用。

  • mntr : 3.4.0 中的新增:输出可用于监控集群健康状况的变量列表。

官方文档

以上是关于Zookeeper基本使用的主要内容,如果未能解决你的问题,请参考以下文章

颗粒归仓--Zookeeper基本概念

c_cpp Robolution基本代码片段

Zookeeper基本使用

Zookeeper基本使用

Zookeeper基本使用

Zookeeper基本使用