Zookeeper 注册中心:单机部署

序言

本文给大家介绍 Zookeeper 单机部署流程、 如何与 Spring 整合使用。除此之外,还有 Zookeeper 作为注册中心与 SpringCloud 的整合流程。

一、部署流程

  1. 官网下载 Zookeeper 安装包

    image.png

  2. 解压安装包到指定目录

    image.png

  3. 进入 apache-zookeeper-3.8.4-bin/conf 目录,使用 cp zoo_sample.cfg zoo.cfg 命令拷贝 zoo_sample.cfg 到当前目录。

    image.png

  4. 进入 apache-zookeeper-3.8.4-bin 目录,使用 mkdir data 命令创建数据存放目录

    image.png

  5. 修改 apache-zookeeper-3.8.4-bin/conf/zoo.cfg 配置文件

    image.png

  6. 进入 apache-zookeeper-3.8.4-bin/bin 目录,执行 ./zkServer.sh start 命令启动 Zookeeper

    image.png

二、Zookeeper 服务管理

  1. 启动 Zookeeper 服务

    zkServer.sh start
    
  2. 停止 Zookeeper 服务

    zkServer.sh stop
    
  3. 查看 Zookeeper 服务状态

    zkServer.sh status
    
  4. 重启 Zookeeper 服务

    zkServer.sh restart
    

三、命令行客户端

  1. 连接 Zookeeper 服务

    ./zkCli.sh -server localhost:2181# 可以直接按如下方式使用,默认指向的服务端:端口是 localhost:2181
    ./zkCli.sh
    

    image.png

  2. 查看 Zookeeper 中的节点

    ls /path
    

    image.png

  3. 创建一个新的节点

    # 创建新节点可以在后面跟上数据也可以不跟
    create /path data
    

    image.png

  4. 删除节点

    delete /path
    

    image.png

  5. 设置节点的数据

    set /path data
    

    image.png

  6. 查看节点的详细信息

    get /path
    

    image.png

  7. 关闭连接

    quit
    

    image.png

四、Spring 整合 Zookeeper

  1. 引入依赖

    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.3</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.8</version><type>pom</type><scope>import</scope></dependency></dependencies>
    </dependencyManagement><dependencies><!-- 注册中心依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-discovery</artifactId></dependency>
    </dependencies>
    
  2. application.yml 文件中编写配置

    spring:cloud:zookeeper:# 指定 Zookeeper 服务器地址connect-string: localhost:2181
    
  3. 使用案例

    @SpringBootTest
    public class AppTest {@Resourceprivate CuratorFramework curatorFramework;@Testpublic void test() throws Exception {// 创建节点(增加数据)curatorFramework.create().forPath("/hello", "zookeeper".getBytes());// 获取节点数据(查询数据)curatorFramework.getData().forPath("/hello");// 更新节点数据(修改数据)curatorFramework.setData().forPath("/hello", "world".getBytes());// 删除节点(删除数据)curatorFramework.delete().forPath("/hello");}
    }
    

五、Zookeeper 注册中心

  1. 引入依赖

    <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.3</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.8</version><type>pom</type><scope>import</scope></dependency></dependencies>
    </dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 注册中心依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-discovery</artifactId></dependency>
    </dependencies>
    
  2. application.yml 文件中编写配置

    spring:cloud:zookeeper:# 指定 Zookeeper 服务器地址connect-string: localhost:2181application:# 指定当前服务名称name: user-service
    
  3. 启动服务,查看服务注册情况

    image.png

推荐阅读

  1. 深入理解 JavaScript 中的 Promise、async 和 await
  2. 探索生产者/消费者模式:解决并发编程中的资源竞争
  3. 深入探究 Spring Boot Starter:从概念到实践
  4. RBAC 权限设计(五)
  5. Docker Compose:简化多容器应用部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/325901.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测——印度车辆数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

《C++学习笔记---初阶篇6》---string类 上

目录 1. 为什么要学习string类 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 2.2.1. string类对象的常见构造 2.2.2. string类对象的容量操作 2.2.3.再次探讨reserve与resize 2.2.4.string类对象的访问及遍历操作 2.2.5…

【Spring】验证 @ServerEndpoint 的类成员变量线程安全

文章目录 前言猜想来源验证方法Controller 的情况ServerEndpoint 的情况 后记 前言 最近有 websocket 的需求。探索 ServerEndpoint 的类成员变量特点。 这里类比 Controller 讨论 ServerEndpoint 类成员变量是否线程安全。 猜想来源 网上的教程大多数都这么展示程序&#…

OBS插件--音频采集

音频采集 音频采集是一款 源 插件,类似于OBS的win-capture/game-capture&#xff0c;允许从特定应用程序捕获音频&#xff0c;而不是捕获整个系统的音频。避免了因为特定音频的采集而需要引入第三方软件&#xff0c;而且时延也非常低。 下面截图演示下操作步骤&#xff1a; 首…

简单的Python HTML 输出

1、问题背景 一名初学者在尝试将 Python 脚本输出到网页上时遇到了一些问题。他当前使用 Python 和 HTML 进行开发&#xff0c;并且遇到了以下问题&#xff1a; 担心自己的代码过于复杂&#xff0c;尤其是 WebOutput() 函数。希望通过 JavaScript 使用 HTML 模板文件更新数据。…

几个字符串函数的使用和模拟实现(2)

strcop的使用和模拟实现 strcpy函数的使用事项&#xff1a; 源字符串时不需要修改的&#xff0c;在定义前加上const 源字符串被拷贝到目标字符串上时终止字符\0也被拷贝进去 目标数组的大小要相对于源数组的大小足够大&#xff0c;并且不应该在内存中重叠 函数的返回值是一个字…

网络无线网卡无法配置正确的 dns 服务器

网络无线网卡无法配置正确的 dns 服务器--解决办法 网络无线网卡无法配置正确的 dns 服务器--解决办法 网络无线网卡无法配置正确的 dns 服务器–解决办法 建议先使用疑难反馈&#xff08;自带的&#xff09; 打开网络适配中心 之后更改适配器设置&#xff0c;在点击 wlan 属…

绿盟之旅——一段安全实习结束

去年&#xff0c;因为着急找实习&#xff0c;拿着简历就开始海投&#xff0c;当时想的是有人让我去就谢天谢地了&#xff0c;第一个约我面试的就是绿盟&#xff0c;也很顺利的通过了面试&#xff0c;当时让我选择在上海还是北京&#xff0c;我选择的是上海&#xff0c;因为学校…

【C++】set 和 map 学习及使用

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前言 set 和 map 是 STL 中的容器之一&#xff0c;不同于普通容器&#xff0c;它俩的查找速度极快…

开发一款相亲交友小程序

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 前端开发:vue.js 可选语言&#xff1a;pythonjavanode.jsphp均支持 运行软件…

第四届上海理工大学程序设计全国挑战赛 J.上学 题解 DFS 容斥

上学 题目描述 usst 小学里有 n 名学生&#xff0c;他们分别居住在 n 个地点&#xff0c;第 i 名学生居住在第 i 个地点&#xff0c;这些地点由 n−1 条双向道路连接&#xff0c;保证任意两个地点之间可以通过若干条双向道路抵达。学校则位于另外的第 0 个地点&#xff0c;第…

【JAVA进阶篇教学】第十三篇:Java中volatile关键字讲解

博主打算从0-1讲解下java进阶篇教学&#xff0c;今天教学第十三篇&#xff1a;volatile关键字讲解。 在 Java 中&#xff0c;volatile关键字是一种轻量级的同步机制&#xff0c;用于确保变量的可见性和禁止指令重排序。本文将详细解释volatile关键字的工作原理、可见性保证以及…

Web安全:SQL注入之布尔盲注原理+步骤+实战操作

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…

ansible------inventory 主机清单

目录 inventory 中的变量 2&#xff09;组变量[webservers:vars] #表示为 webservers 组内所有主机定义变量&#xff0c;所有组内成 员都有效 ansible_userrootansible_passwordabc1234 3&#xff09; [all:vars…

实现字符串复制(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i 0;char a[100], b[100];//获取字符串&#xff1b;printf("请为数组a输入字符串…

回溯算法精讲

原理 回溯&#xff0c;就和深度优先遍历&#xff08;DFS&#xff09;类似&#xff0c;属于先一层到底直至到终点&#xff0c;如果这条路径不对&#xff0c;则回退一下&#xff0c;再继续往下搜索。 抽象地说&#xff0c;解决一个回溯问题&#xff0c;实际上就是遍历一棵决策树…

未来已来:Spring Cloud引领微服务新纪元

文章目录 1. 引言1.1 微服务架构的兴起与挑战1.2 引入Spring Cloud作为微服务解决方案的重要性 2. 背景介绍2.1 微服务架构概述2.2 Spring Cloud的定位2.3 Spring Cloud特性概览 3. Spring Cloud核心组件3.1 Eureka - 服务发现3.2 Hystrix - 断路器3.3 Ribbon - 客户端负载均衡…

Python vs MATLAB:选择深度学习的首选编程语言

Python vs MATLAB&#xff1a;选择深度学习的首选编程语言 在深度学习领域&#xff0c;编程语言的选择对于初学者的学习路径和未来的职业发展至关重要。目前&#xff0c;Python和MATLAB都是进行科学计算和数据分析的流行工具&#xff0c;但它们在深度学习社区中的应用和受欢迎…

构建教育新未来:智慧校园平台的深度解读与全景呈现

引言 在全球数字化转型的大潮中&#xff0c;智慧校园平台作为教育信息化的重要载体&#xff0c;正以前所未有的姿态颠覆传统的教育模式&#xff0c;引领教育行业步入一个崭新的时代。这个融合了大数据、人工智能、云计算、物联网等一系列前沿科技的平台&#xff0c;以其强大的功…

C++笔记:类和对象(一)

一.类的引入 1.类(class)是C中的一种特殊的数据结构&#xff0c;它封装了数据和操作这些数据的函数。 2.类中的数据被称为成员变量&#xff0c;而函数则被称为成员函数。 3.类可以被看作是一种模板&#xff0c;用于创建具有相同属性和行为的多个对象。 在C语言中结构体是一种复…