内容简介:本文主要是首先带着大家回顾一下zookeeper在大数据中的作用,然后给大家介绍一款zk的监控管理工具。发布与订阅模型,即所谓的配置中心,顾名思义就是讲发布者将数据发布到zk节点上,共订阅者动态获取数据,实现配置的集中式管理和动态更新。例如,全局的配置信息,服务服务框架的地址列表就非常适合使用。即软件负载均衡。最典型的是消息中间件的生产、消费者负载均衡。
本文主要是首先带着大家回顾一下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即可登录。
5. CRUD操作
推荐阅读:
分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Kafka源码系列之源码分析zookeeper在kafka的作用
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 不可不知的 Spark shuffle
- 不可不知的spark shuffle
- 真的,你不可不知的 Java 反射
- 开发者不可不知的 Docker 命令
- Swift 开发中不可不知的 Tips 集合
- 零基础学习前端开发不可不知的CSS原理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高质量程序设计艺术
斯皮内利斯 / 韩东海 / 人民邮电出版社 / 2008-1 / 55.00元
在本书中,作者回归技术层面。从Apache web server、BSD版本的Unix system、ArgoUMl、ACE网络编程库等著名开源软件中选取了大量真实C、C++和java语言源代码,直观而深刻的阐述了代码中可能存在的各种质量问题,涉及可靠性、安全性、时间性和空间性、可移植性、可维护性以及浮点运算等方面,很多内容都市独辟蹊径,发前人所未发。正因如此,本书继作者的《代码阅读》之后在获Jo......一起来看看 《高质量程序设计艺术》 这本书的介绍吧!