Zookeeper(一)搭建单体和集群服务以及Zookeeper客户端

目录

1.Zookeeper简介

2.Zookeeper下载

3.Zookeeper部署

[3.1 单体部署](#3.1 单体部署)

[3.2 集群部署](#3.2 集群部署)

4.zookeeper客户端

[4.1 ZooInspector客户端](#4.1 ZooInspector客户端)

[4.2 zkui客户端](#4.2 zkui客户端)


1.Zookeeper简介

Zookeeper是Apache Hadoop的子项目,是一个树形的目录服务,支持变更推送,适合作为Dubbo服务的注册中心。

2.Zookeeper下载

Apache Download MirrorsHome page of The Apache Software Foundationhttps://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.6/apache-zookeeper-3.8.6-bin.tar.gz

3.Zookeeper部署

3.1 单体部署

将下载的zookeeper包,上传到服务器,解压,直接启动会报错,因为缺少zookeeper配置文件

进入zookeeper的conf目录,将zoo_sample.cfg复制一个名字为zoo.cfg的配置文件

启动zookeeper,查看zookeeper状态,可以看到运行是stadalone

复制代码
./zkServer.sh start

停止zookeeper

复制代码
./zkServer.sh stop

3.2 集群部署

1.将下载的zookeeper上传到服务器

2.将zookeeper压缩包,解压,并且zookeeper报名重名为zookeeper01、zookeeper02、zookeeper03

3.为每一个zookeeper创建一个data目录

复制代码
mkdir zookeeper01/data
mkdir zookeeper02/data
mkdir zookeeper03/data

4.在data目录中给每个zookeeper创建一个myid文件,并且在myid文件中指定zookeeper的id

复制代码
echo 1 >> zookeeper01/data/myid
echo 2 >> zookeeper02/data/myid
echo 3 >> zookeeper03/data/myid

5.在每个zookeeper的conf中创建zookeeper配置文件zoo.cfg,通过zookeeper的示例配置文件zoo_sample.cfg复制出来一个名字为zoo.cfg文件即可,其他配置文件名字不起作用默认zoo.cfg配置文件名。

复制代码
cp zoo_sample.cfg zoo.cfg

6.编辑zoo.cfg配置文件

修改zookeeper客户端端口,zookeeper对外提供服务的端口。在一台服务器上面部署在3个zookeeper需要修改端口,如果在3台服务器上面部署3个zookeeper应用可以修改客户端端口因为ip不同。

复制代码
clientPort=2181
clientPort=2182
clientPort=2183

修改数据目录路径

复制代码
dataDir=/usr/local/zookeeper/cluster/zookeeper01/data
dataDir=/usr/local/zookeeper/cluster/zookeeper02/data
dataDir=/usr/local/zookeeper/cluster/zookeeper03/data

在每一个zookeeper配置文件中添加集群中每一个zookeeper节点信息

复制代码
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883

server.id=127.0.0.1:2881:3881

id:myid文件里面配置的zookeeper的id;

127.0.0.1:zookeeper服务所在服务器地址;

2881:客户端端口,服务器与集群的Leader服务器交换信息的端口;

3881:投票端口,选举时服务器相互通信的端口;

为什么会有投票端口呢?

1.因为三台Zookeeper要构成集群,决定谁是leader,Zookeeper中是通过投票机制决定谁是leader。

2.如果有节点产生宕机,也需要通过投票机制将宕机节点从集群中剔除。

7.启动zookeeper集群

复制代码
./zkServer.sh start 启动
./zkServer.sh stop	停止
./zkServer.sh restart 重启
./zkServer.sh status 查询状态

leader节点:

从节点:

4.zookeeper客户端

4.1 ZooInspector客户端

ZooInspector下载地址https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zipCSDN下载地址:

ZooInspector下载地址https://download.csdn.net/download/m0_48983233/93151031解压ZooInspector进入build目录启动zookeeper-dev-ZooInspector.jar

4.2 zkui客户端

CSDN下载地址:

zkui下载地址https://download.csdn.net/download/m0_48983233/93151030windows启动,修改zkui.bat启动文件

修改zkui的配置文件,如果是单节点直接配置zookeeper信息即可,集群需要把zookeeper节点信息逗号分开

复制代码
zkServer=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

默认用户信息设置admin和appconfig

复制代码
userSet = {"users": [{ "username":"admin" , "password":"admin","role": "ADMIN" },{ "username":"appconfig" , "password":"appconfig","role": "USER" }]}

启动zkui,直接执行zkui.bat文件即可。

访问zkuil页面:

问题1:查看monitor有下图提示信息

需要在zookeeper的配置文件zoo.cfg里面添加如下配置即可:

复制代码
4lw.commands.whitelist=*

问题2:点击zkui的History显示Erro,这个报错只需要创建以下节点/appconfig/hosts即可。

相关推荐
阿里云云原生1 小时前
智能体构建与进化——Agent 开源开发者沙龙·广州站精彩回顾 & PPT 下载
云原生·agent
阿里云云原生1 小时前
阿里云联合 Datadog,补齐 Go 可观测性最后短板
云原生·go
李白客2 小时前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
传感器与混合集成电路2 小时前
储气库漏失检测技术解析:分布式光纤如何锁定环空窜漏的精确位置
分布式·数据分析·信号处理
qq_452396232 小时前
第十二篇:《Istio 生产环境最佳实践与排错指南》
云原生·php·istio
cfm_29144 小时前
了解Sentinel
分布式·架构·sentinel
上海云盾-小余5 小时前
全域网络安全防护思路:借助分布式节点抵御异常访问实战
分布式·安全·web安全
Henry-SAP6 小时前
SAP MRP类型如何影响计划订单生成
人工智能·云原生·sap·erp
中议视控8 小时前
展厅可视化网络中央控制系统:支持双向反馈,可视化播控,回显,状态显示,反向控制电脑,声光电网络视讯设备统一管理
网络·分布式·信息可视化
云烟成雨TD8 小时前
Micrometer 系列【52】统一观测:Observation | 观测载体
云原生·链路追踪·micrometer