09、Hadoop框架Zookeeper Java API

Hadoop框架Zookeeper Java API

引入zookeeper依赖

  去Maven官网引入Zookeeper依赖。

  选择3.4.6版本,复制到IDEA的pom文件里

<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
<dependency>
	<groupId>org.apache.zookeeper</groupId>
	<artifactId>zookeeper</artifactId>
	<version>3.4.6</version>
</dependency>

  新建ZOOKEEPER包

  新建ZKJavaAPI

测试连接

1、新建连接

  这里需要抛出异常

        // 1、新建连接
        ZooKeeper zk = new ZooKeeper(
                "master:2181,node1:2181,node2:2181"
                , 100000
                , null
        );

2、创建临时节点

  这里需要抛出异常

        zk.create("/test1"
                ,"abcdefg".getBytes()
                , ZooDefs.Ids.OPEN_ACL_UNSAFE
                , CreateMode.PERSISTENT
        );

3、运行测试

package com.liangzai.ZOOKEEPER;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;

import java.io.IOException;

public class ZKJavaAPI {
   
    public static void main(String[] args) throws IOException, InterruptedException, KeeperException {
   
        // 1、新建连接
        ZooKeeper zk = new ZooKeeper(
                "master:2181,node1:2181,node2:2181"
                , 100000
                , null
        );

        // 2、创建临时节点
        zk.create("/test1"
                ,"abcdefg".getBytes()
                , ZooDefs.Ids.OPEN_ACL_UNSAFE
                , CreateMode.EPHEMERAL
        );
    }
}
控制台输出结果:
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Process finished with exit code 0
  • 去ZK里查看运行结果
#启动ZK
zkCli.sh -server node1:2181

#ZK Shell
ls /
get /test1

运行结果:

注意我这里并没有zk.close();
因为创建的是临时节点,断开了就会被删除
这里是运行成功的。
下面我将详细介绍。

ZKJavaAPI

名词解析

  • ZooDefs.Ids :控制所创建的ZNODE的权限
  • OPEN_ACL_UNSAFE :完全开放的ACL,任何连接的客户端都可以操作该属性znode
  • CREATOR_ALL_ACL :只有创建者才有ACL权限
  • READ_ACL_UNSAFE :只能读取ACL
  • CreateMode :创建的ZNODE的类型
  • PERSISTENT :永久创建,连接断开不会删除
  • EPHEMERAL :创建临时节点,连接断开即删除

创建永久节点

    ZooKeeper zk;

    @Before
    // 创建连接
    public void init() throws 
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liangzai2048

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值