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

然后选择可以下载的版本。

  • 比如我在这里下在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吧!


品茗IT交流群
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容