ZooKeeper基础命令和Java客户端操作

这篇具有很好参考价值的文章主要介绍了ZooKeeper基础命令和Java客户端操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、zkCli的常用命令操作

(1)Help
ZooKeeper基础命令和Java客户端操作,Spring Cloud,zookeeper,java-zookeeper,分布式,中间件,java

(2)ls 使用 ls 命令来查看当前znode中所包含的内容
(3)ls2查看当前节点数据并能看到更新次数等数据
(4)stat查看节点状态
(5)set
1)设置节点的具体值
2)set 节点 value值 set /test atguigu
(6)get
1)获得节点的值
2)get 节点
(7)create
1)普通创建 create /test demo001
2)-s含有序列
3)-e 临时
(8)delete 删除无子节点的目录
(9)rmr 递归删除

2 四字命令

2.1 是什么?

zookeeper支持某些特定的四字命令,他们大多是用来查询ZK服务的当前状态及相关信息的。
通过telnet或nc向zookeeper提交相应命令,如:echo ruok | nc 127.0.0.1 2181
运行公式:echo 四字命令 | nc 主机IP zookeeper端口

2.2 常用命令

ruok:测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应
stat:输出关于性能和连接的客户端的列表
conf:输出相关服务配置的详细信息
cons:列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受 / 发送”的包数量、会话id 、操作延迟、最后的操作执行等等信息
dump:列出未经处理的会话和临时节点
envi:输出关于服务环境的详细信息(区别于conf命令)
reqs:列出未经处理的请求
wchs:列出服务器watch的详细信息
wchc:通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表
wchp:通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径

3、Java客户端操作

3.1 创建项目

创建一个maven 项目zk-demo
ZooKeeper基础命令和Java客户端操作,Spring Cloud,zookeeper,java-zookeeper,分布式,中间件,java

3.2 添加依赖

修改pom.xml文章来源地址https://www.toymoban.com/news/detail-691350.html

 <dependencies>
   <!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->
   <dependency>
     <groupId>com.101tec</groupId>
     <artifactId>zkclient</artifactId>
     <version>0.10</version>
   </dependency>
   <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
   <dependency>
     <groupId>org.apache.zookeeper</groupId>
     <artifactId>zookeeper</artifactId>
     <version>3.4.9</version>
   </dependency>
   <dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>1.2.17</version>
   </dependency>
  </dependencies>

3.3 代码部分

public class ZkDemo {
    private static final String CONNECTSTRING = "192.168.200.129:2181";
    private static final String PATH = "/atguigu";
    private static final int SESSION_TIMEOUT = 50*1000;

    // 连接zk 方法
    public ZooKeeper startZk() throws Exception{
        //
        return new ZooKeeper(CONNECTSTRING, SESSION_TIMEOUT, new Watcher() {
            @Override
            public void process(WatchedEvent event) {

            }
        });
    }
    // 关闭zk 方法
    public void stopZk(ZooKeeper zooKeeper) throws Exception{
        if (zooKeeper!=null){
            zooKeeper.close();
        }
    }

    /**
     * 创建节点
          * @param zk zk 对象
     * @param path 节点名称
     * @param nodeValue 节点数据
     * @throws Exception
     */
    public void createZNode(ZooKeeper zk,String path,String nodeValue) throws Exception{
        // acl 表示权限 OPEN_ACL_UNSAFE 公开的权限
        zk.create(path,nodeValue.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
    }

    // 获取节点
    public String getZNode(ZooKeeper zk,String path)throws Exception{
        byte[] byteArray = zk.getData(path, false, new Stat());
        String data = new String(byteArray);
        System.out.println(data);
        return data;
    }

    // 调用
    public static void main(String[] args) throws Exception {
        ZkDemo zkDemo = new ZkDemo();
        // 获取连接
        ZooKeeper zk = zkDemo.startZk();

        String zNode = null;
        Stat stat = zk.exists(PATH, false);
        if (stat==null){
            // 创建节点
            zkDemo.createZNode(zk,PATH,"java");
        }else {
            System.out.println("***********znode has already ok***********");
        }
        // 获取节点数据
        zNode = zkDemo.getZNode(zk, PATH);
        System.out.println("**********result:"+zNode);
        // 关闭连接
        zkDemo.stopZk(zk);
    }
}

到了这里,关于ZooKeeper基础命令和Java客户端操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • zookeeper客户端连接报错 java.net.ConnectException: Connection refused

    Session 0x0 for sever localhost/0:0:0:0:0:0:0:1:2181, Closing socket connection. Attempting reconnect except it is a SessionExpiredException. java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at org.apache.zookeeper.ClientCnxnSock

    2024年02月13日
    浏览(32)
  • Flink 客户端操作命令及可视化工具

    Flink 提供了丰富的客户端操作来提交任务和与任务进行交互。下面主要从 Flink 命令行、 Scala Shell 、 SQL Client 、 Restful API 和 Web 五个方面进行整理。 在 Flink 安装目录的 bin 目录下可以看到 flink , start-scala-shell.sh 和 sql-client.sh 等文件,这些都是客户端操作的入口。 run 运行任务

    2024年02月04日
    浏览(44)
  • java 客户端操作HDFS

    部署包win版本 源码包zip包 lib整合:共121个jar包 $HADOOP_PREFIX/share/hadoop/{common,hdfs,mapreduce,yarn,tools}/{lib,.}*.jar  将windows版本hadoop/bin/hadoop.dll 放到c:/windows/system32下 hadoop的bin和sbin目录放PATH中+HADOOP_HOME+HADOOP_USER_NAME=root 安装插件 配置 重启电脑!!!!!!!加载hadoop.dll 创建java p

    2024年02月10日
    浏览(33)
  • HDFS之Java客户端操作

    Hadoop版本:Hadoop-3.1.3 Linux版本:CentOS7.5 IDE工具:IntelliJ IDEA(Windows环境下) HDFS的Java客户端操作也是入门Hadoop开发的学习重点 下载依赖 https://github.com/steveloughran/winutils 根据自己的Hadoop安装版本选择对应版本的依赖,如果需要更高版本的依赖,请从以下地址下载 https://github.

    2024年02月12日
    浏览(35)
  • elasticsearch-java客户端操作

    版本: ​ elasticsearch版本: 8.3.2 ​ elasticsearch-java: 8.3.2 问题 : springboot项目可能冲突,抛出异常 解决:添加依赖,具体解决方法: https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/installation.html 查询索引是否存在 创建索引 删除索引 删除文档 新增文档 获取文档 修改文档 删除

    2024年02月13日
    浏览(36)
  • 袁庭新ES系列15节|Elasticsearch客户端基础操作

    上一章节我们介绍了搭建Elasticsearch集群相关的知识。那么又该如何来操作Elasticsearch集群呢?在ES官网中提供了各种语言的客户端,我们在项目开发过程中有多种Elasticsearch版本和连接客户端可以选择,那么他们有什么区别?这一章节袁老师带领大家来学习Elasticsearch客户端相关

    2024年04月25日
    浏览(38)
  • ElasticSearch-学习笔记04【Java客户端操作索引库】

    Java后端-学习路线-笔记汇总表【黑马程序员】 ElasticSearch-学习笔记01【ElasticSearch基本介绍】 【day01】 ElasticSearch-学习笔记02【ElasticSearch索引库维护】 ElasticSearch-学习笔记03【ElasticSearch集群】 ElasticSearch-学习笔记04【Java客户端操作索引库】 【day02】 ElasticSearch-学习笔记05【Spri

    2023年04月09日
    浏览(33)
  • 03-Zookeeper客户端使用

    上一篇:02-Zookeeper实战 zookeeper 官方的客户端没有和服务端代码分离,他们为同一个jar 文件,所以我们直接引入zookeeper的maven即可, 这里版本请保持与服务端版本一致,不然会有很多兼容性的问题 为了便于测试,直接在初始化方法中创建zookeeper实例 创建Zookeeper实例的方法:

    2024年02月07日
    浏览(37)
  • 【Redis】Spring/SpringBoot 操作 Redis Java客户端

    1.Jedis 2.Lettuce(主流) -Spring Data Redis 1.添加Redis 驱动依赖 2.设置Redis 连接信息 3.根据Redis API 操作Redis

    2024年02月13日
    浏览(37)
  • ZooKeeper客户端使用与经典应用场景

    ZooKeeper的应用场景依赖于ZNode节点特性和Watch监听机制。 常用于实现配置中心,类似的有nacos。 数据发布/订阅的一个常见的场景是配置中心,发布者把数据发布到ZooKeeper的一个或一系列的节点上,供订阅者进行数据订阅,达到动态获取数据的目的。 配置信息一般有几个特点

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包