Web基础配置篇(十一): Zookeeper的安装配置及使用
Web基础配置篇(十一): Zookeeper的安装配置及使用
一、概述
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
在JavaWeb的开发中,我们用到Zookeeper的地方大概就是注册中心和配置中心了,比如dubbo工具、Springcloud都支持Zookeeper。当然,Zookeeper是hadoop项目的基础工具;Zookeeper也可以作为分布式锁实现的重要桥梁。由此观之,Zookeeper扮演着一个很重要的角色。
重要不重要不是说出来的,你用的上,它就是重要的。我们这篇只讲安装。
首发地址:
品茗IT-同步发布
品茗IT提供在线支持:
一键快速构建Spring项目工具
一键快速构建SpringBoot项目工具
一键快速构建SpringCloud项目工具
一站式Springboot项目生成
Mysql一键生成Mybatis注解Mapper
Mysql一键生成SpringDataRest项目
如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。
二、Zookeeper单机版
2.1 下载Zookeeper
Zookeeper可以在Zookeeper官网 查看下载地址;
下载地址要到apache网站的子目录下:https://www.apache.org/dyn/closer.cgi/zookeeper/;
然后选择可以下载的版本。
比如我在这里下在http://mirror.bit.edu.cn/apache/zookeeper/。
我本来想下载zookeeper-3.5.5的,可是zookeeper-3.5.5下载下来就提示文件损坏,换了好几个镜像地址都不行,无奈放弃3.5.5,下载了3.4.14版本。
下载完成后,解压文件(window下用winrar/其他解压工具,linux下tar命令)并进入文件夹的bin目录下:
如图所示:
windows和linux公用同一个下载文件,但是启动文件不一样。
2.2 Windows启动Zookeeper
配置
将Zookeeper的conf目录下的zoo_sample.cfg文件,复制为zoo.cfg;可以打开看下,里面有个一个端口配置。
修改zoo.cfg文件,添加下data目录和log目录:
dataDir=E:/DevSoft/zookeeper/zookeeper-3.4.14/data
dataLogDir=E:/DevSoft/zookeeper/zookeeper-3.4.14/log
启动
打开powershell或者cmd,首先进入到Zookeeper的bin目录下,输入命令.\zkServer.cmd
:
然后它就运行起来了。这是我见过的最爽快的工具了。
然后运行.\zkCli.cmd
,测试下刚刚安装的zookeeper。
2.3 Linux启动Zookeeper
配置
将Zookeeper的conf目录下的zoo_sample.cfg文件,复制为zoo.cfg;
修改zoo.cfg文件,添加下data目录和log目录:
dataDir=E:/DevSoft/zookeeper/zookeeper-3.4.14/data
dataLogDir=E:/DevSoft/zookeeper/zookeeper-3.4.14/log
启动
然后进入到Zookeeper的bin目录下,输入命令sh zkServer.sh start
:
然后它就运行起来了。
然后运行sh zkCli.sh
,测试下刚刚安装的zookeeper。
三、Zookeeper集群
在Zookeeper集群中,若超过半数以上服务节点不可用,才会造成整个服务不可用,所以其集群节点数一般都是至少3个节点以上的奇数个。
所以我这里起三个节点做测试,分别是:
windwos节点一个、 Docker容器内Centos节点两个。
3.1 配置
按照上面单机版的配置,在data目录下,新建myid文件。windows节点填入1;两个centos节点分别为2、3。
在conf目录下的zoo.cfg文件里,添加:
server.1=10.247.62.91:2888:3888
server.2=192.168.99.100:2888:3888
server.3=192.168.99.100:2889:3889
这里,写法是server.id=host:port1:port2
其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。后面端口是任意写的。
10.247.62.91是windows的机器id。192.168.99.100是docker容器ip。
3.2 启动
到bin目录下,每个都启动即可。
3.3 测试
使用命令./zkCli.sh -server localhost
登录任意一台机器,然后创建一个节点,再查询其他server是否存在该节点信息。
创建节点:create /test 123
查看节点:ls /
。如果/下面存在test,表示正常。
创建顺序节点 自动累加:create -s /test2 123
四、Zookeeper可视化管理工具
zookeeper本身是没有管理工具的,但是zkui是一个很广泛使用的可视化管理工具。
下面讲一下如何使用zkui:
首先下载zkui或者使用已经编译好的jar包。
4.1 zkui的jar包
4.1.1 下载已编译的jar包
我用jdk8编译好了一个jar包,上传到csdn上了,不要问我为啥要收积分,我也不想啊,csdn改不了积分。
https://download.csdn.net/download/feiyangtianyao/11447614
因为要积分,所以我上传到了百度云,分享一下给大家:
链接:https://pan.baidu.com/s/1mfWMW_2IvDGtReqV2ONslg
提取码:9k54
解压zip文件,里面有jar包和config文件。
4.1.2 自己编译
在https://github.com/DeemOpen/zkui下载zkui的代码。
下载完成后,使用maven打包即可。
maven命令:mvn clean install
,或者使用eclipse等ide打包都行。
它是用assembly打包的,打包完成后有两个jar包,选择jar-with-dependencies的那个jar包,也就是比较大的那个jar包,它就是可运行的jar包,名字太长了改为zkui.jar。
4.2 运行
将config.cfg复制到jar文件所在目录,和jar包平级,然后修改配置文件中的zookeeper地址(如果是本地,无需修改)。
zkServer=localhost:2181
运行jar包:
java -jar zkui.jar
4.3 访问
测试,http://localhost:9090 ,如能看到如下页面则代表zookeeper安装运行正常。
使用用户名密码admin/manager登录即可。用户名密码配置在config.cfg文件的userSet= 中。
五、Zookeeper常用命令
4.1 增加节点
创建普通节点:create /test test
创建临时节点(断开重连之后,临时节点自动消失):create -e /test1 test1
4.2 查询节点
查询节点数据: get /test
查看根节点下子节点:ls /
查看services节点:ls /services
; SpringCloud注册节点就在该节点下。
4.3 修改节点
查询节点数据: get /test
修改节点数据:set /test 456
根据版本号更新 dataVersion 乐观锁 修改节点数据:set /test 789 1
;更新完成后,再执行一遍,将提示version No is not valid : /test
,将版本号换为2:set /test 789 2
执行就可以了。
4.4 删除节点
删除节点: delete /test
品茗IT-博客专题:https://www.pomit.cn/lecture.html汇总了Spring专题、Springboot专题、SpringCloud专题、web基础配置专题。
快速构建项目
Spring组件化构建
SpringBoot组件化构建
SpringCloud服务化构建
喜欢这篇文章么,喜欢就加入我们一起讨论Java Web吧!
Web基础配置篇(十一): Zookeeper的安装配置及使用相关推荐
- Web基础配置篇(二): Maven配置及使用
Web基础配置篇(二): Maven配置及使用 一.概述 Maven是一个软件开发管理工具,主要管理工作是:依赖管理,项目一键构建. 以前用过ant,很不方便,maven比较简单易用. 然后后面又来了 ...
- apache camel 相关配置_Web基础配置篇(二): Maven配置及使用
Web基础配置篇(二): Maven配置及使用 一.概述 Maven是一个软件开发管理工具,主要管理工作是:依赖管理,项目一键构建. 以前用过ant,很不方便,maven比较简单易用. 然后后面又来了 ...
- python开发工具及环境配置_python_在windows下安装配置python开发环境及Ulipad开发工具...
最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...
- [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例
最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客.做着开源的大神.接下来系统分享一些网络安全的自学笔记,希望读者们喜欢. 上一篇文 ...
- Zookeeper的安装配置及基本开发
一.简介 Zookeeper 是分布式服务框架,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等等. ZooKeeper的目标就 ...
- 微指令地址的形成方式_交换那些事儿 | 基础维护篇 IPv6地址分类及配置方法
IPv6地址分类及配置方法 H3C交换机基础维护篇 何为IPv6 随着网络的不断扩大和发展,IPv4的地址空间已不能满足需求,因此IPv6协议的应用越来越广泛.那么IPv6地址是如何规范和配置的呢,今 ...
- windows环境下Zookeeper的安装配置调试
了解Zookeeper:----> https://blog.csdn.net/gs80140/article/details/51496925 安装jdk 安装Zookeeper. 在官网 ...
- 【Linux命令】《鸟哥Linux基础》第二十一章 软件安装:源代码与Tarball
第二十一章 软件安装:源代码与Tarball 了解:如何将开放源码的程序设计.加入函数库的原理.通过编译而成为可执行的二进制程序,最后该文件可被我们所使用的一连串过程. 这一章介绍最原始的软件管理方式 ...
- 部署篇01:Linux 安装配置JDK
本文主题:在Centos7.2 Linux系统下,安装配置jdk8,验证安装结果. 1.查找需要卸载的OpenJDK [root@10-46-14-168 tool] rpm -qa | grep j ...
最新文章
- 持续集成之“自动化部署”
- 人生财富值得珍藏的文字
- android handler 的removeMessages的使用
- 为什么使用mq?具体的使用场景是什么?
- 项目不需要SVN控制的时候,该怎么办
- Pyqt5+python+ErIC6+QT designer
- java判断线程是否wait_Java并发编程之线程间通讯(上)wait/notify机制
- python3 logging com1_python-logging-基础(1)
- 黄金寨景区、缥缈间温泉2019北京推介会成功举办
- addeventlistener事件第三个参数_JavaScript 事件与事件处理机制
- 活着是一种罪过,是上帝对你的另一种眷顾,叫做惩罚!活着痛苦!
- 解释说明CCIE考试中的RIP问题
- 【sklearn第二十讲】聚类
- C#_MVC 自定义AuthorizeAttribute实现权限管理
- 基于java宠物商店管理系统(java毕业设计)
- 查看CentOS版本信息
- 全球及中国石油市场十四五发展走势及竞争格局动态分析报告2021年版
- springboot配置druid内置监控页面
- ANO匿名飞控分析(1)— 遥控器解码
- 【Fuzzy】不确定规划:模糊变量
热门文章
- 表格table设置padding
- 微信小游戏学习日记2
- 亚马逊服务器 修改密钥对,更改ec2实例的密钥对
- 修改onlyoffice服务器端口,在Windows server 2012上使用 ONLYOFFICE 协作编辑文档
- threshold计算机英语,计算机专业英语
- java程序设计校园一卡通_基于Java Card的校园一卡通的应用设计
- 【吞食鱼】大鱼吃小鱼,Java小游戏开发实战项目,一小时亲手做出自己的游戏
- 深度学习入门_斋藤康毅_chapter23
- SpringBoot下载Excel模板 无法打开
- Proteus添加仪表(电压表、电流表等)