电商商城定制开发zookeeper入门到精通06——zookeeper客户端API创建节点

前 言
🍉 作者简介:半旧518,电商商城定制开发长跑型选手,电商商城定制开发立志坚持写10年博客,专注于java后端
☕专栏简介:深入、全面、系统的介绍常用技术栈zookeeper知识
🌰 文章简介:本文将深入、全面介绍使用的客户端API远程操作zookeeper服务器新建节点,建议收藏备用,创作不易,敬请三连哦
🥒文章推荐:




一、环境准备

先启动zookeeper服务集群。

[wangzhou@zookeeper01 logs]$ zk.sh start
  • 1

查看状态

[wangzhou@zookeeper01 logs]$ zk.sh status
  • 1

结果如下就说明启动成功哦(ps:集群操作这里不会的童鞋可以看看该专栏前几篇博客哟~)。

二、创建工程

然后idea新建maven工程。

pom添加依赖

<dependencies>    <dependency>        <groupId>junit</groupId>        <artifactId>junit</artifactId>        <version>RELEASE</version>    </dependency>        <dependency>        <groupId>org.apache.logging.log4j</groupId>        <artifactId>log4j-core</artifactId>        <version>2.8.2</version>    </dependency>        <dependency>        <groupId>org.apache.zookeeper</groupId>        <artifactId>zookeeper</artifactId>        <version>3.5.7</version>    </dependency></dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在项目的 src/main/resources 目录下,新建一个文件,命名为“log4j.properties”,在文件中填入。

log4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [%c]- %m%nlog4j.appender.logfile=org.apache.log4j.FileAppenderlog4j.appender.logfile.File=target/spring.loglog4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.ConversionPattern=%d %p [%c]- %m%n
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

按如下目录结构建立ZKClient实例。

三、功能实现

写下demo案例。

public class ZKClient {    ZooKeeper client;    @Before    public void init() throws IOException {        // 注意逗号后不要加空格,严格按照格式,在下面写自己对应得zookeeper服务集群得ip        //端口号如不指定,默认未2181        String connectString="192.168.106.43:2182,192.168.106.44:2182,192.168.106.45:2182";        int sessionTimeout = 2000;        client = new ZooKeeper(connectString, sessionTimeout, new Watcher() {            @Override            public void process(WatchedEvent watchedEvent) {            }        });    }    @Test    public void create() throws InterruptedException, KeeperException {        //参数解释:        // path:新建节点路径, data:zookeeper.avi, 控制方式:OPEN_ACL_UNSAFE,节点类型:PERSISTENT        String nodeCreated = client.create("/wangzhou", "zookeeper.avi".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

测试结果如下。

启动zookeeper客户端,确定节点数据是否成功插入。

[zk: localhost:2181(CONNECTED) 5] get -s /sanguo2zookeeper.avicZxid = 0xa0000000actime = Tue Jun 21 06:24:15 PDT 2022mZxid = 0xa0000000amtime = Tue Jun 21 06:24:15 PDT 2022pZxid = 0xa0000000acversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x0dataLength = 13numChildren = 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发