千家信息网

Zookeeper Znode实例分析

发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,这篇文章主要讲解了"Zookeeper Znode实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Zookeeper Znode实例分析"吧!i
千家信息网最后更新 2024年11月16日Zookeeper Znode实例分析

这篇文章主要讲解了"Zookeeper Znode实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Zookeeper Znode实例分析"吧!

import java.io.IOException;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.ZooKeeper;/** *  * Zookeeper目前的创建的模式为: *  *  * PPERSISTENT:创建后只要不删就永久存在 EPHEMERAL:会话结束年结点自动被删除,EPHEMERAL结点不允许有子节点 * SEQUENTIAL:节点名末尾会自动追加一个10位数的单调递增的序号,同一个节点的所有子节点序号是单调递增的 * PERSISTENT_SEQUENTIAL:结合PERSISTENT和SEQUENTIAL * EPHEMERAL_SEQUENTIAL:结合EPHEMERAL和SEQUENTIAL *  * @author Yin Shuai *  */public class SequenceZnode {        public static final int TIMEOUT = 3000;        public static void main(String[] args) throws IOException,                        InterruptedException {                ZooKeeper zkp = new ZooKeeper("127.0.0.1:2181", TIMEOUT, null);                try {                        zkp.create("/node1", "data1".getBytes(), Ids.OPEN_ACL_UNSAFE,                                        CreateMode.PERSISTENT);                        if (zkp.exists("/node1", false) != null) {                                System.out.println("node1 exists now");                        }                        try {                                zkp.create("/node1", "data1".getBytes(), Ids.OPEN_ACL_UNSAFE,                                                CreateMode.PERSISTENT);                        } catch (KeeperException e) {                                System.out.println("keeperException caught:" + e.getMessage());                        }                        zkp.close();                        // zookeeper的会话在这里重新再建立一次                        zkp = new ZooKeeper("127.0.0.1:2181", TIMEOUT, null);                        // 创建了一系列的持久化-顺序节点                        zkp.create("/node-", "same data".getBytes(), Ids.OPEN_ACL_UNSAFE,                                        CreateMode.PERSISTENT_SEQUENTIAL);                        zkp.create("/node-", "same data".getBytes(), Ids.OPEN_ACL_UNSAFE,                                        CreateMode.PERSISTENT_SEQUENTIAL);                        zkp.create("/node-", "same data".getBytes(), Ids.OPEN_ACL_UNSAFE,                                        CreateMode.PERSISTENT_SEQUENTIAL);                        zkp.create("/node-", "same data".getBytes(), Ids.OPEN_ACL_UNSAFE,                                        CreateMode.PERSISTENT_SEQUENTIAL);                        List children = zkp.getChildren("/", null);                        for (String child : children) {                                System.out.println(child);                        }                        zkp.close();                } catch (KeeperException e) {                        System.err.println("KeeperException have been caught:"                                        + e.getMessage());                }        }}

对于每一种类型的节点,请注意区分,尤其是在重复create Sequenal的节点的过程之中。编号不一定会保持连续的状态 。

1:Zookeeper的连接地址一般要写多个

2:ACL 权限不是递归的,它只针对当前的节点,对子节点没有任何的影响

3:默认的情况下日志文件和数据文件是放在同一个目录之下。

4:

默认情况下日志文件和数据文件是放在同一个目录下的,为缩短延迟提高响应性,你可以把日志文件单独放在另一个目录下。

为避免swaping,运行java时最好把可用物理内在调得大一些,比如对于4G的内在,可以把它调到3G。java有以下两个运行参数:

-Xms
设置虚拟机可用内存堆的初始大小,缺省单位为字节,该大小为1024的整数倍并且要大于1MB,可用k(K)或m(M)为单位来设置较大的内存数。初始堆大小为2MB。
例如:-Xms6400K,-Xms256M
-Xmx
设置虚拟机内存堆的最大可用大小,缺省单位为字节。该值必须为1024整数倍,并且要大于2MB。可用k(K)或m(M)为单位 来设置较大的内存数。缺省堆最大值为64MB。

例如:-Xmx81920K,-Xmx80M

感谢各位的阅读,以上就是"Zookeeper Znode实例分析"的内容了,经过本文的学习后,相信大家对Zookeeper Znode实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0