不可不知的 ZooKeeper 小工具 zkui

本文主要是首先带着大家回顾一下zookeeper大数据中的作用,然后给大家介绍一款zk的监控管理工具。

zookeeper在分布式集群的作用

1,数据发布与订阅(配置中心

发布与订阅模型,即所谓的配置中心,顾名思义就是讲发布者将数据发布到zk节点上,共订阅者动态获取数据,实现配置的集中式管理和动态更新。例如,全局的配置信息,服务服务框架的地址列表就非常适合使用。

2,负载均衡

软件负载均衡。最典型的是消息中间件的生产、消费者负载均衡。

3,命名服务(Naming Service)

常见的是发布者将自己的地址列表写到zookeeper的节点上,然后订阅者可以从固定名称的节点获取地址列表,链接到发布者进行相关通讯。

4,分布式通知/协调

这个利用的是zookeeper的watcher注册和异步通知机制,能够很好的实现分布式环境中不同系统间的通知与协调,实现对数据变更的实时处理。

5,集群管理与Master选举

集群管理,比如在线率,节点上线下线通知这些。Master选举可以使用临时顺序节点来实现。

6,分布式锁

分布式,这个主要得益于zookeeper数据的强一致性,利用的是临时节点。锁服务分为两类,一个是独占锁,另一个是控制时序。

独占,是指所有的客户端都来获取这把锁,最终只能有一个获取到。用的是临时节点。

控制时序,所有来获取锁的客户端,都会被安排得到锁,只不过要有个顺序。实际上是某个节点下的临时顺序子节点来实现的。

zkui详解

简介

zkui是zookeeper的一个web管理界面,可以对zookeeper进行CRUD操作。

github地址:

https://github.com/DeemOpen/zkui

环境要求

编译环境官方要求是jdk7,但是浪尖这里jdk8正常运行。

浪尖使用的maven版本是mvn-3.3.3

安装部署

1. 编译打包

mvn clean install

在执行结束之后,会在target目录下生成一个jar包

2. 配置

执行 vim config.cfg
添加如下配置

# zkui web页面访问端口
serverPort=9090

# zookeeper集群的IP地址和端口
zkServer=localhost:2181

# 设置登录zkui的用户名和密码,这里是默认值
userSet = {"users": [{ "username":"admin" , "password":"manager","role": "ADMIN" },{ "username":"appconfig" , "password":"appconfig","role": "USER" }]}

3. 启动

启动zkui也比较简单,可以直接执行

$ java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar

也可以使用nohup &是其变为后台进程

nohup java -jar target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar &

4. 登陆ui

访问 http://localhost :9090即可看到以下界面:输入刚刚设置的用户名密码:admin/manager即可登录。

不可不知的 ZooKeeper 小工具 zkui

5. CRUD操作

不可不知的 ZooKeeper 小工具 zkui

推荐阅读:

唠唠Zookeeper的观察者

基于zookeeper leader选举方式一

分布式服务框架 Zookeeper — 管理分布式环境中的数据

Kafka源码系列之源码分析zookeeper在kafka的作用

不可不知的 ZooKeeper 小工具 zkui

原文 

https://mp.weixin.qq.com/s/SrVCbWdhnp-h4Fa4gi6Qig

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 不可不知的 ZooKeeper 小工具 zkui

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址