中间件

zk日常运维

2018-12-16  本文已影响17人  lockdreamer

日常维护操作

启动ZK服务:bin/zkServer.sh start

查看ZK服务状态:bin/zkServer.sh status

停止ZK服务:bin/zkServer.sh stop

重启ZK服务:bin/zkServer.sh restart

连接服务器:zkCli.sh -server 127.0.0.1:2181

查看根目录:ls /

创建 testnode节点,关联字符串"zz" create /zk/testnode "zz"

查看节点内容:get /zk/testnode

设置节点内容:set /zk/testnode abc

删除节点:delete /zk/testnode

Zookeeper日志:正常运行过程中,ZK会不断地把快照数据和事务日志输出到这两个目录,并且如果没有人为操作的话,ZK自己是不会清理这些文件的,需要管理员来清理,可以编写shell脚本定时清除几天前的备份日志。

find {dataDir}/version-2 -name "snap*" -mtime +10 | xargs rm -f

find {dataLogDir}/version-2 -name "log*" -mtime +10 | xargs rm -f

注意不要清除进程正在占用的日志文件。

高危风险操作

zookeeper主要用于服务的注册及发现,应杜绝对程序创建的节点进行设置和删除操作。

修改ZooKeeper的ACL是高危操作。修改ZooKeeper中znode的权限,可能会导致其他用户无权限访问该znode,导致系统功能异常。

Zookeeper配置文件zoo.cfg按照规范来配置,禁止随意修改。修改前要经过评审测试论证并做好备份工作。

其他注意事项

zookeeper搭建最少3个节点,必须是奇数个节点以便leader的选举。

生产环境建议每个项目部署一套zookeeper,避免多个项目共用一套zookeeper以便排除不同的项目之间相互影响。

保持Server地址列表一致,客户端使用的server地址列表必须和集群所有server的地址列表一致。

集群中每个server的zoo.cfg中配置机器列表必须一致。

独立的事务日志输出,对于每个更新操作,ZK都会在确保事务日志已经落盘后,才会返回客户端响应。因此事务日志的输出性能在很大程度上影响ZK的整体吞吐性能。强烈建议是给事务日志的输出分配一个单独的磁盘。

配置合理的JVM堆大小,确保设置一个合理的JVM堆大小。

上一篇下一篇

猜你喜欢

热点阅读