`
zhoupinheng
  • 浏览: 36013 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java操作zookeeper集群

阅读更多

pom.xml

<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.kovansys.test</groupId>
  <version>1.1.0</version>

  <artifactId>zookeeper_test</artifactId>

  <packaging>jar</packaging>

  <properties>

    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>

    <spring.version>5.1.6.RELEASE</spring.version>
    <logback.version>1.2.3</logback.version>
    <slf4j.version>1.7.26</slf4j.version>
    <junit.version>5.4.1</junit.version>
    <java.encoding>UTF-8</java.encoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <zookeeper.version>3.4.14</zookeeper.version>

  </properties>
  <build>
    <directory>target</directory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        
        <exclusions>
           <exclusion>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-log4j12</artifactId>
           </exclusion>
           <exclusion>
           <groupId>log4j</groupId>
           <artifactId>log4j</artifactId>
           </exclusion>
        </exclusions>

    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>


    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>${logback.version}</version>
    </dependency>

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>log4j-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

  </dependencies>

</project>

 

    测试类

    

package zookeeper_test;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.junit.jupiter.api.Test;

public class ZookeeperTest {

  @Test
  public void testZookeeper() {
    int SESSION_TIMEOUT = 30 * 1000;

    Watcher wh = new Watcher() {
      public void process(WatchedEvent event) {
        System.out.println("WatchedEvent >>> " + event.toString());
      }
    };

    ZooKeeper zk = null;
    try {
      zk = new ZooKeeper("192.168.0.180:2181,192.168.0.180:2182,192.168.0.180:2183", SESSION_TIMEOUT, wh);

      // create node
      zk.create("/test", "My Data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
      // get node data
      System.out.println("data of /test is:" + String.valueOf(new String(zk.getData("/test", false, null))));

      // add watcher
      zk.exists("/test", wh);
      // update node
      zk.setData("/test", "Data updated".getBytes(), -1);
      // get node data
      System.out.println("data of /test is:" + String.valueOf(new String(zk.getData("/test", false, null))));

      // add watcher
      zk.exists("/test", wh);
      // delete
      zk.delete("/test", -1);
      // if node exist
      System.out.println(" node /test exists: [" + (zk.exists("/test", false) != null) + "]");

    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (zk != null) {
        try {
          zk.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }

  }
}

 

分享到:
评论

相关推荐

    zookeeper集群安装.doc

    Zookeeper集群安装 Zookeeper是一个分布式应用程序协调服务,它提供了高效、可靠、稳定的分布式协调服务,可以帮助开发者快速构建可靠的分布式应用程序。在这个文档中,我们将详细介绍如何安装和配置Zookeeper集群...

    zookeeper集群配置详解

    首先,Zookeeper集群部署的前提条件是已经正确安装了Java环境,因为Zookeeper是用Java编写的,通过`java -version`命令可以查看当前Java版本。下载Zookeeper包可以通过官网提供的地址进行,这里使用的地址是***,...

    搭建zookeeper集群

    搭建ZooKeeper集群 ZooKeeper是一种基于Java的高性能协调服务,专门为分布式应用程序设计,提供了高可用性、可扩展性和高性能等特点。搭建ZooKeeper集群是分布式系统中非常重要的一步,下面我们将详细讲解搭建...

    Zookeeper集群搭建.doc

    Zookeeper集群搭建是一个重要的任务,尤其在分布式系统中,它作为协调服务,为高可用性和数据一致性提供了基础。Zookeeper是Apache的一个开源项目,用于处理分布式应用中的命名服务、配置管理、集群同步、选举等功能...

    zookeeper集群搭建

    ### Zookeeper 集群搭建及关键知识点解析 #### 一、Zookeeper 概述 **1.1 Zookeeper 简介** Zookeeper 是一个开源的分布式应用程序协调服务器,作为 Hadoop 和 Hbase 的重要组件之一,在分布式环境中发挥着重要...

    kafka-zookeeper集群配置

    **Kafka-Zookeeper集群配置详解** 在大数据处理和实时流计算领域,Apache Kafka与Zookeeper是两个非常重要的组件。Kafka作为一个高吞吐量、分布式的消息发布与订阅系统,广泛用于数据管道和实时数据流处理;而...

    zookeeper linux集群搭建流程

    在开始搭建 ZooKeeper 集群之前,需要提前在本地安装好 JDK,因为 ZooKeeper 是用 Java 编写的,需要运行在 JVM 上。 第一步:下载和解压 ZooKeeper 首先,需要下载 ZooKeeper 的安装包,例如 zookeeper-3.4.6.tar...

    hadoop+hbase+zookeeper集群配置流程及文件

    配置Zookeeper集群涉及: 1. 安装Zookeeper:在所有节点上部署Zookeeper,设置`ZOOKEEPER_HOME`环境变量。 2. 修改`zoo.cfg`配置:包括数据存储路径、集群节点列表(server.1, server.2, ...)等。 3. 分配myid:在...

    zookeeper集群安装文档.docx

    为了验证Zookeeper集群的功能,可以使用Java或C语言的客户端进行测试。Java客户端可以通过`ZooKeeperMain`类直接连接到Zookeeper服务器,而C客户端则需要在`src/c`目录下编译并运行。一旦客户端连接成功,就可以进行...

    java连接zookeeper,并增加acl权限.docx

    ACL 权限可以控制谁可以访问 ZooKeeper 服务器,谁可以执行哪些操作等。 增加 ACL 权限 增加 ACL 权限是指添加 ZooKeeper 服务器的访问控制权限,用于控制对 ZooKeeper 服务器的访问。增加 ACL 权限需要使用 ...

    CentOS环境安装配置AMQ集群及zookeeper集群

    ### CentOS环境下AMQ集群与Zookeeper集群安装配置详解 #### 一、概述 本文将详细介绍如何在CentOS环境中安装配置ActiveMQ (AMQ) 集群和Zookeeper集群。这两种集群技术对于分布式系统的消息传递和服务协调至关重要...

    zookeeper集群安装

    * 如何解决 ZooKeeper 集群安装过程中的Java 环境问题? ZooKeeper 集群安装的优点 * 实现了分布式协调服务,提供配置管理、名字服务、分布式同步和组服务等功能。 * 提高了系统的可扩展性和可靠性。 * 提高了系统...

    java中的zookeeper

    Java中的ZooKeeper是一个分布式协调服务,由Apache Hadoop项目开发,主要用于解决大规模分布式系统中的命名服务、配置管理、集群同步等问题。它提供了一种基于分布式数据一致性模型的树状数据结构,使得多个应用程序...

    SpringBoot整合dubbo的demo,基于yml文件和zookeeper集群

    在本项目中,我们主要探讨的是如何将SpringBoot与Dubbo服务框架进行整合,并通过YAML文件进行配置,同时利用Zookeeper集群作为注册中心。这是一个典型的微服务架构实践,让我们详细了解一下涉及的关键技术和实现步骤...

    基于Zookeeper集群环境下的服务注册代码

    zookeeper作为如今分布式应用下常用的开发技术,已经广泛应用于各种...该项目介绍了zookeeper的服务注册功能,使用了zookeeper集群环境搭建,可参考博客:https://blog.csdn.net/LiaoHongHB/article/details/84950486

    ZooKeeper集群安装配置

    ZooKeeper 集群安装配置 ZooKeeper 是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护...

    java代码-使用java解决JEESZ-Zookeeper集群安装的源代码

    java代码-使用java解决JEESZ-Zookeeper集群安装的源代码 ——学习参考资料:仅用于个人学习使用!

    CentOS+Jdk+Jboss+dubbo+zookeeper集群配置教程

    【CentOS+Jdk+Jboss+dubbo+zookeeper集群配置教程】 在进行大规模分布式系统开发时,集成多种组件是常见的需求。本教程将详细介绍如何在CentOS操作系统上配置Jdk、Jboss应用服务器、dubbo服务治理框架以及zookeeper...

Global site tag (gtag.js) - Google Analytics