5-ZooKeeper客户端使用

zookeeper的客户端有自带的命令行程序,也有API接口。

命令行客户端

ls / // 查看根目录
ls -s / // 查看根目录详细信息
create /apple/iPhone "iPhone 13" // 创建节点并设置值(永久节点)
get /apple/iPhone // 查看节点值
get -s /apple/iPhone // 查看节点详细信息
create -s /apple/iPhone "iPhone 14" // 创建一个给路径添加序号后缀的节点(永久节点)
create -e /apple/Mac "MacBook Pro 14" // 创建临时节点
set /apple/iPhone 'iPhone 13 pro' // 修改节点值
delete /apple/iPhone // 删除节点,无法递归删除
deleteall /apple // 删除节点,递归删除
stat /apple // 查看节点状态信息

Java API 客户端分类

1、原生Java client
接口比较基础,自行补充的代码较多。

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.8.0</version>
</dependency>
public class ZkClientTest {

    private String zkServer = "192.168.1.1:2128,192.168.1.2:2128";

    private static ZooKeeper zkClient;

    public void connectZk() throws IOException {
        zkClient = new ZooKeeper(zkServer, 2000, new Watcher() {
            @Override
            public void process(WatchedEvent watchedEvent) {
            }
        });
    }

    public void createZkNode() throws KeeperException, InterruptedException {
        zkClient.create("/apple/ipad", "ipad air 5".getBytes(StandardCharsets.UTF_8), ZooDefs.Ids.OPEN_ACL_UNSAFE,
                CreateMode.EPHEMERAL);
    }

}

 

2、zkclient
早年比较好,后面没更新,不建议使用。

<dependency>
    <groupId>com.github.adyliu</groupId>
    <artifactId>zkclient</artifactId>
    <version>2.2.0</version>
</dependency>

3、curator
​​​​​​​目前最合适的zookeeper客户端,dubbo也在使用。

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>5.2.0</version>
</dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值