zookeeper客户端

  1. 启动单机版的zookeeper
    在这里插入图片描述
  2. 配置Maven环境
    (1) IDEA自带maven
    (2) 更新Maven库镜像地址:
    ① 拷贝D:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\plugins\maven\lib\maven3\conf\settings.xml [IntelliJ的安装目录]到 C:/用户/username/.m2 (如果.m2文件不存在,可以新建一个.m2文件夹);
    ② 修改.m2文件夹下的settings.xml,在 和之间添加:
    ​ (为了可以从国内的aliyun镜像站下载依赖,国外的依赖下载慢 )
 <mirror><id>aliyun</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror>

在这里插入图片描述

​ (3)可以修改.m2文件夹的位置:https://blog.csdn.net/qq_27093465/article/details/52957253,此处我没有修改

  1. 新建Maven项目,选好JDK,不要选"Create from archetype",设置完之后next,最后finish
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1. 打开新建的项目之后,右下加会出现,import changes即可
      在这里插入图片描述

    2. 打开后的pom.xml文件
      在这里插入图片描述
      6. 添加依赖,添加的依赖放在<dependencies></dependencies>之间,每个依赖用<dependency></dependency>括起来
      在这里插入图片描述
      在这里插入图片描述
      7. zookeeper版本位置发红,可以去aliyun查看一下zookeeper的版本,选择GAV搜索

        ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329224353179.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)
      
      1. 根据搜索结果修改zookeeper的版本,然后更新,稍等片刻

      在这里插入图片描述
      10. 继续完善pom.xml文件,添加org.apache.zookeeper依赖,可以从maven仓库找,其实不需要上面的org.apache.hadoop也可以,后来来我把它删了,一下是完整代码

     <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.zk1</groupId><artifactId>zookeeper1</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.14</version><type>pom</type></dependency><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.12.1</version></dependency><!-- https://mvnrepository.com/artifact/junit/junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>zookeeper</artifactId><version>3.3.1</version></dependency></dependencies></project>

在这里插入图片描述
①从maven仓库中查找zookeeper,选择自己的zookeeper版本,复制下面的代码

	![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329223908666.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329222851853.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)②Loj4j的依赖,日志用,也是在Mave仓库找apache Log4j Core,选择一个版本复制依赖到dependencies节点在resources目录下新建log4j.properties
log4j.rootLogger=INFO, stdout  
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n  
log4j.appender.logfile=org.apache.log4j.FileAppender  
log4j.appender.logfile.File=target/spring.log  
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout  
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n  

在这里插入图片描述
这部分是为了下图
在这里插入图片描述

 ③ 还有一个做测试用的[Junit](https://mvnrepository.com/artifact/junit/junit)11.  重新install,有时有些依赖没有下载下来但并不影响使用![在这里插入图片描述](https://img-blog.csdnimg.cn/20200330103232585.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)  13.  接下来写代码,新建package,新建java类![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329222939838.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329222945531.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)13. 查看Centos7的ip地址,使用ifconfig命令,查看ens33的ip![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329222956252.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_16,color_FFFFFF,t_70)14. 写代码```javapackage demo.zookeeper;import org.apache.zookeeper.*;import org.apache.zookeeper.ZooDefs.Ids;import java.io.IOException;public class ZKBasicOperation {public static void main(String[] args) throws IOException, KeeperException, InterruptedException {// 创建一个与服务器的连接ZooKeeper zk = new ZooKeeper("192.168.79.128:2181", 60000, new Watcher() {// 监控所有被触发的事件public void process(WatchedEvent event) {System.out.println("EVENT:" + event.getType());}});// 查看根节点System.out.println("ls / => " + zk.getChildren("/", true));// 创建一个目录节点if (zk.exists("/node", true) == null) {zk.create("/node", "conan".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println("create /node conan");// 查看/node节点数据System.out.println("get /node => " + new String(zk.getData("/node", false, null)));// 查看根节点System.out.println("ls / => " + zk.getChildren("/", true));}// 创建一个子目录节点if (zk.exists("/node/sub1", true) == null) {zk.create("/node/sub1", "sub1".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println("create /node/sub1 sub1");// 查看node节点System.out.println("ls /node => " + zk.getChildren("/node", true));}// 修改节点数据if (zk.exists("/node", true) != null) {zk.setData("/node", "changed".getBytes(), -1);// 查看/node节点数据System.out.println("get /node => " + new String(zk.getData("/node", false, null)));}// 删除节点if (zk.exists("/node/sub1", true) != null) {zk.delete("/node/sub1", -1);zk.delete("/node", -1);// 查看根节点System.out.println("ls / => " + zk.getChildren("/", true));}// 关闭连接zk.close();}}```运行结果(要等一会,一开始会有一些Warning)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RNQxT7Yf-1585491574683)(img/image-20200329214716360.png)]


zk.close();
}
}

      ```

运行结果(要等一会,一开始会有一些Warning)

在这里插入图片描述

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

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

相关文章

前后分离项目记录

一.前端设置 1.打包问题 打包报错 Thread Loader时&#xff0c;增加以下代码&#xff1a; 2.上线时api设置 二.Nginx问题 1.缓存问题&#xff1a;添加如下代码以禁止缓存&#xff0c;否则在关闭nginx后仍然可以访问页面 2.跨域问题在后端加CrossOrigin注解即可 3.上线时co…

人工智能风险预警以及区块链解决方案探索

​​发表时间&#xff1a;2024年9月26日 一个专家小组在为世界经济论坛撰写的报告中警示道&#xff0c;人工智能&#xff08;以下均简称为AI&#xff09;技术增加了各类组织遭受攻击的风险&#xff0c;并带来了训练数据污染和提示词注入攻击等新威胁。由于训练和测试数据库的庞…

3 机器学习之假设空间

归纳(induction)与演绎(deduction)是科学推理的两大基本手段。前者是从特殊到一般的“泛化”(generalization)过程&#xff0c;即从具体的事实归结出一般性规律&#xff1b;后者则是从一般到特殊的“特化”(specialization)过程&#xff0c;即从基础原理推演出具体状况。例如&a…

笔试强训10.14

注意&#xff1a; 1.使用strcpy是把右参数赋值给左参数&#xff0c;而且左参数必须有终止符\0。 2.注意当输入的字符串的最长连续数字串在最后时&#xff0c;此时就不会进行else的判断&#xff0c;需要出了while循环后再进行判断。 #include <iostream> #include <…

Java面试宝典-WEB学习

Java web学习 目录 Java web学习 1、说说 Servlet 的基本架构 2、说一说 Servlet 的生命周期? 3、如何实现一个自定义的 servlet&#xff1f; 4、servlet中有哪些核心类&#xff1f;都有什么特点&#xff1f; 5、什么情况下调用 doGet()和 doPost()&#xff1f; 6、request.ge…

Attention Is All You Need论文翻译

论文名称 注意力即是全部 论文地址 https://user.phil.hhu.de/~cwurm/wp-content/uploads/2020/01/7181-attention-is-all-you-need.pdf 摘要 主流的序列转导模型基于复杂的递归或卷积神经网络&#xff0c;这些网络包含编码器和解码器。性能最好的模型通过注意力机制将编码器和…

谷歌-BERT-第一步:模型下载

1 需求 需求1&#xff1a;基于transformers库实现自动从Hugging Face下载模型 需求2&#xff1a;基于huggingface-hub库实现自动从Hugging Face下载模型 需求3&#xff1a;手动从Hugging Face下载模型 2 接口 3.1 需求1 示例一&#xff1a;下载到默认目录 from transform…

第十一章 RabbitMQ之消费者确认机制

目录 一、介绍 二、演示三种ACK方式效果 2.1. none: 不处理 2.1.1. 消费者配置代码 2.1.2. 生产者主要代码 2.1.3. 消费者主要代码 2.1.4. 运行效果 2.2. manual&#xff1a;手动模式 2.3. auto&#xff1a;自动模式 一、介绍 消费者确认机制&#xff08;Consume…

架构设计笔记-13-层次式架构设计理论与实践

目录 知识要点 综合知识 案例分析 1.SSM框架 2.MVC模式&#xff0c;XML 3.MVC架构脆弱性 4.容器技术的优势 5.对象关系映射ORM技术 知识要点 一般来说&#xff0c;架构可以分为表现层、中间层和持久层三个层次。 表现层&#xff1a;表现层主要负责接收用户的请求&…

k8s ETCD数据备份与恢复

在 Kubernetes 集群中&#xff0c;etcd 是一个分布式键值存储&#xff0c;它保存着整个集群的状态&#xff0c;包括节点、Pod、ConfigMap、Secrets 等关键信息。因此&#xff0c;定期对 etcd 进行备份是非常重要的&#xff0c;特别是在集群发生故障或需要恢复数据的情况下。本文…

网站建设为什么要选择国内服务器

选择国内服务器进行网站建设&#xff0c;对于面向国内用户的企业来说&#xff0c;是一个明智的决策。以下是一些选择国内服务器的主要原因&#xff1a; 提升用户体验&#xff1a; 网站访问速度是用户体验的关键因素之一。由于物理距离较近&#xff0c;国内服务器通常能提供更快…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——14.哈希(1)

移情别恋c ദ്ദി˶&#xff70;̀֊&#xff70;́ ) ——14.哈希(1) unordered系列关联式容器 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 l o g 2 N log_2 N log2​N&#xff0c;即最差情况下需要比较红黑树的高度次…

prompt learning

prompt learning 对于CLIP&#xff08;如上图所示&#xff09;而言&#xff0c;对其prompt构造的更改就是在zero shot应用到下游任务的时候对其输入的label text进行一定的更改&#xff0c;比如将“A photo of a{obj}”改为“[V1][V2]…[Vn][Class]”这样可学习的V1-Vn的token…

利用配置错误的负载均衡器,通过XSS窃取Cookies

引言 在本文中&#xff0c;我们将探讨一个涉及负载均衡器漏洞利用和跨站脚本攻击&#xff08;XSS&#xff09;来劫取应用程序Cookies的实际场景。由于保密协议的限制&#xff0c;我们将省略具体名称和截图&#xff0c;但我们会详细分析攻击过程及其影响。通过将负载均衡器的主…

MySQL中 truncate、drop和delete的区别

MySQL中 truncate、drop和delete区别 truncate 执行速度快&#xff0c;删除所有数据&#xff0c;但是保留表结构不记录日志事务不安全&#xff0c;不能回滚可重置自增主键计数器 drop 执行速度较快&#xff0c;删除整张表数据和结构不记录日志事务不安全&#xff0c;不能回…

LabVIEW示波器通信及应用

基于LabVIEW平台开发的罗德与施瓦茨示波器通信与应用系统实现了示波器的远程控制及波形数据的实时分析&#xff0c;通过TCP/IP或USB接口与计算机通信&#xff0c;利用VISA技术进行指令传输&#xff0c;从而实现高效的数据采集与处理功能。 项目背景 随着现代电子测试需求的日益…

WordPress 禁用上传媒体图片自动生成缩略图及多尺寸图片教程

一、在 设置-媒体-媒体设置 中几个尺寸大小的设置不勾选或设置为 0&#xff0c;如下图&#xff1a; 二、找到主题文件 function.php 文件&#xff0c;打开后&#xff0c;在 <?php 后面添加如下代码&#xff1a; function.php 文件路径一般为&#xff1a;WordPress网站根目录…

使用标注工具并跑通官方yolov8分割segment自己的数据集

1.下载标注工具用于打标签 使用标注工具&#xff0c;后面会用到智能标注 点击 创建AI多边形后命令行就自动下载对应的模型 单机要选中的图像就行&#xff0c;就可以智能选中&#xff0c;双击设置标签 依次标注所有图片 &#xff0c;最后保存成json格式的文件 2.使用labelme2y…

量化投资学习

1:投资定义就是付出一定的代价&#xff0c;期望能够得到一定汇报&#xff0c;可能会出现没有回报 2&#xff1a;投资分析流派 2.1:宏观策略分析法&#xff1a;从宏观经济大方向入手&#xff0c;再应用到具体股票也叫自上而下的研究方法&#xff0c;需要理解这个趋势的核心驱动…

【AI系统】AI 学习方法与算法现状

在人工智能&#xff08;AI&#xff09;的漫长历史中&#xff0c;我们见证了从早期的规则驱动系统到现代的机器学习模型的转变。AI的学习方法是其进步的核心&#xff0c;而算法现状则反映了当前技术的高度和未来的发展方向。 Ⅰ.AI 学习方法 AI的工作原理基于深度神经网络&…