zk日常运维

作者: lockdreamer | 来源:发表于2018-12-16 10:00 被阅读17次

    日常维护操作

    启动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堆大小。

    相关文章

      网友评论

        本文标题:zk日常运维

        本文链接:https://www.haomeiwen.com/subject/ojutkqtx.html