1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

zookeeper基础运维详解

组件服务

ZooKeeper是一个分布式应用协调服务,由多个节点组成集群使用(一般建议3或5个),作为一个java进程,使用jps命令可以快速找出zk的进程id。如果主机跑了多个zk,可以使用ps-ef命令或者find查看当前服务器中存在的zk实例节点目录,再通过dir/logs中最后一条log的最近时间来判断此zk是不是当前正在运行的。最后通过查看conf/zoo.cfg的配置信息,查看此zk集群的规模(几个节点)、客户端端口等信息来判断出问题的是否是此zk集群。

zookeeper基础运维详解

日志

ZooKeeper的服务运行需要产生三类日志:事务日志、快照日志和log4j日志。在zoo.cfg中配置dataDir可以指定快照日志和事务日志的存储地址。建议将事务日志(dataLogDir)与快照日志(dataLog)多带配置以提高系统性能,而且,可以将两类日志存在在不同的存储介质上,减少磁盘压力。log4j用于记录zookeeper集群服务器运行日志,该日志的配置地址在conf/目录下的log4j.properties文件中。

事务日志是在执行每个更新操作前,必须要将本次更新操作的事务日志已经写到磁盘上,才返回客户端“更新成功”的响应。快照日志是每隔一段时间就会把整个DataTree的数据序列化后存储在磁盘中,这就是zookeeper的快照文件。

zkShell命令

使用bin/zkCli.sh命令可以进入到zk-shell内部进行操作,直接操作zk的文件系统。注意如果zk进行了acl配置,直接zkCli.sh可能会进入失败,此时需使用zkCli.sh-serverIP:port命令进入。zk-shell内部命令有限,合起来不到50个,常用的有create、delete、connect、addauth、setAcl、getAcl、get等。

需要注意的是,zkCli.sh内部提供的命令不能满足业务需要时,需要通过自定义Java程序访问ZooKeeper API来解决问题。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6042.html