zookeeper客户端

server/2024/10/18 19:52:26/
  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.ppmy.cn/server/132850.html

相关文章

apache pulsar 安装最新版本, docker安装pulsar3.3.2

1. 官网地址&#xff1a; Run a standalone Pulsar cluster in Docker | Apache Pulsar 2. 下载镜像&#xff1a; 2.1 选择镜像版本&#xff1a; https://hub.docker.com/r/apachepulsar/pulsar/tags 2.2 版本3.3.2 docker pull apachepulsar/pulsar:3.3.2 3. 安装&#xff…

思迅商云出入库明细有数据,查不到库存

请备份数据库执行修复机构价格表后查询&#xff1a; --总部 use hbposv8 go insert into t_pc_branch_price (branch_no,item_no,supcust_no,sale_way,price, base_price,sale_price,vip_price,sup_ly_rate,branch_price,branch_sale,com_flag,item_stock,base_price1,base_pr…

你们还在用8位单片机吗?

以前做过挺多8位机的&#xff0c;51内核的产品&#xff0c;比如楼层刷卡器用的STC的&#xff0c;还有计量产品&#xff0c;里面也是51内核计量单元等集成的SOC芯片。 类似的太多了&#xff0c;比如TI早期的Zigbee芯片&#xff0c;蓝牙芯片&#xff0c;很多都是8位的51内核。 8位…

MySQL【知识改变命运】04

复习&#xff1a; 1&#xff1a;CURD 1.1Create &#xff08;创建&#xff09; 语法&#xff1a; insert [into] 表名 [column[,column]] valuse(value_list)[,vaule_list]... value_list:value,[value]...创建一个实例表&#xff1a; 1.1.1单⾏数据全列插⼊ values_l…

【JVM】原理篇

1 栈上的数据存储 在Java中有8大基本数据类型&#xff1a; 这里的内存占用&#xff0c;指的是堆上或者数组中内存分配的空间大小&#xff0c;栈上的实现更加复杂。 以基础篇的这段代码为例&#xff1a; Java中的8大数据类型在虚拟机中的实现&#xff1a; boolean、byte、char、…

yub‘s Algorithmic Adventures_Day9

两数之和 link&#xff1a;1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 思路分析 看到题目描述首先想到用两层for循环解决问题. 分别从i位置和j(i1)位置开始相加遍历判断. 注意不越界条件 数组 class Solution {public int[] twoSum(int[] nums, int target) {//…

华为OD机试真题-数组连续和-2024年OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,持续跟新 题目描述 给定一个含有N个正整数的数…

能源设施安全智能守护:AI监控卫士在油气与电力领域的应用

能源行业的安全与稳定运行对于社会的可持续发展至关重要&#xff0c;无论是石油、天然气还是电力设施&#xff0c;都面临着复杂的监测需求。思通数科推出的AI视频监控卫士&#xff0c;通过应用先进的人工智能技术&#xff0c;为能源行业的安全监测提供了高效、智能的解决方案。…