- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.apache.zookeeper.ZooKeeper.create()
方法的一些代码示例,展示了ZooKeeper.create()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeper.create()
方法的具体详情如下:
包路径:org.apache.zookeeper.ZooKeeper
类名称:ZooKeeper
方法名:create
[英]Create a node with the given path. The node data will be the given data, and node acl will be the given acl.
The flags argument specifies whether the created node will be ephemeral or not.
An ephemeral node will be removed by the ZooKeeper automatically when the session associated with the creation of the node expires.
The flags argument can also specify to create a sequential node. The actual path name of a sequential node will be the given path plus a suffix "i" where i is the current sequential number of the node. The sequence number is always fixed length of 10 digits, 0 padded. Once such a node is created, the sequential number will be incremented by one.
If a node with the same actual path already exists in the ZooKeeper, a KeeperException with error code KeeperException.NodeExists will be thrown. Note that since a different actual path is used for each invocation of creating sequential node with the same path argument, the call will never throw "file exists" KeeperException.
If the parent node does not exist in the ZooKeeper, a KeeperException with error code KeeperException.NoNode will be thrown.
An ephemeral node cannot have children. If the parent node of the given path is ephemeral, a KeeperException with error code KeeperException.NoChildrenForEphemerals will be thrown.
This operation, if successful, will trigger all the watches left on the node of the given path by exists and getData API calls, and the watches left on the parent node by getChildren API calls.
If a node is created successfully, the ZooKeeper server will trigger the watches on the path left by exists calls, and the watches on the parent of the node by getChildren calls.
The maximum allowable size of the data array is 1 MB (1,048,576 bytes). Arrays larger than this will cause a KeeperExecption to be thrown.
[中]使用给定路径创建一个节点。节点数据将是给定的数据,节点acl将是给定的acl。
flags参数指定创建的节点是否短暂。
当与创建节点相关的会话过期时,ZooKeeper将自动删除临时节点。
flags参数还可以指定创建顺序节点。顺序节点的实际路径名将是给定路径加上后缀“i”,其中i是节点的当前顺序号。序列号始终为固定长度的10位数字,0填充。一旦创建了这样一个节点,序列号将增加1。
如果ZooKeeper中已经存在具有相同实际路径的节点,则会出现错误代码为KeeperException的KeeperException。NodeExists将被抛出。请注意,由于使用相同的path参数创建顺序节点的每次调用都使用不同的实际路径,因此该调用永远不会抛出“file exists”KeeperException。
如果ZooKeeper中不存在父节点,则会出现错误代码为KeeperException的KeeperException。NoNode将被抛出。
短暂节点不能有子节点。如果给定路径的父节点是短暂的,则会出现错误代码为KeeperException的KeeperException。没有孩子会被扔出去。
如果此操作成功,将通过exists和getData API调用触发给定路径节点上剩余的所有监视,并通过getChildren API调用触发父节点上剩余的监视。
如果节点创建成功,ZooKeeper服务器将触发exists调用留下的路径上的监视,并通过getChildren调用触发节点父节点上的监视。
数据数组的最大允许大小为1 MB(1048576字节)。大于此值的数组将导致抛出KeeperExecAction。
代码示例来源:origin: apache/zookeeper
public boolean execute() throws KeeperException, InterruptedException {
Stat stat = zookeeper.exists(path, false);
if (stat != null) {
return true;
}
zookeeper.create(path, data, acl, flags);
return true;
}
});
代码示例来源:origin: apache/zookeeper
@Override
public void execute(byte[] data) throws Exception {
zk.create("/create_test", data, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
}
});
代码示例来源:origin: apache/zookeeper
private static void createZNode(ZooKeeper zk, String path, String data)
throws KeeperException, InterruptedException {
try{
zk.create(path, data.getBytes(),
ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
} catch (KeeperException.NodeExistsException e) {
}
}
代码示例来源:origin: apache/zookeeper
private void verifyCreateFails(String path, ZooKeeper zk) throws Exception {
try {
zk.create(path, null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
} catch (IllegalArgumentException e) {
// this is good
return;
}
Assert.fail("bad path \"" + path + "\" not caught");
}
代码示例来源:origin: apache/zookeeper
private void createNoStatVerifyResult(String newName)
throws KeeperException, InterruptedException {
Assert.assertNull("Node existed before created", zk.exists(newName, false));
zk.create(newName, newName.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
Assert.assertNotNull("Node was not created as expected",
zk.exists(newName, false));
}
代码示例来源:origin: apache/zookeeper
@Test
public void testAuth() throws Exception {
ZooKeeper zk = createClient();
try {
zk.create("/path1", null, Ids.CREATOR_ALL_ACL, CreateMode.PERSISTENT);
Thread.sleep(1000);
} finally {
zk.close();
}
}
代码示例来源:origin: apache/zookeeper
private void createNoStatVerifyResult(String newName)
throws KeeperException, InterruptedException {
Assert.assertNull("Node existed before created", zk.exists(newName, false));
String path = zk.create(newName, newName.getBytes(),
Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
Assert.assertEquals(path, newName);
Assert.assertNotNull("Node was not created as expected",
zk.exists(newName, false));
}
代码示例来源:origin: apache/zookeeper
private Stat createWithStatVerifyResult(String newName)
throws KeeperException, InterruptedException {
Assert.assertNull("Node existed before created", zk.exists(newName, false));
Stat stat = new Stat();
zk.create(newName, newName.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER, stat);
validateCreateStat(stat, newName);
Stat referenceStat = zk.exists(newName, false);
Assert.assertNotNull("Node was not created as expected", referenceStat);
Assert.assertEquals(referenceStat, stat);
return stat;
}
代码示例来源:origin: apache/zookeeper
public void verifyCreateFailure_NoNode() {
rc = Code.NONODE;
name = null;
path = path + "/bar";
zk.create(path, data, acl, flags, this, toString());
verify();
}
代码示例来源:origin: apache/zookeeper
public void verifyCreateFailure_NoNode() {
rc = Code.NONODE;
name = null;
stat = null;
path = path + "/bar";
zk.create(path, data, acl, flags, this, toString());
verify();
}
代码示例来源:origin: apache/zookeeper
@Test
public void testSetReqs() throws Exception {
final String path = "/set_test";
zk.create(path, new byte[1], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
testRequests(new ClientOp() {
@Override
public void execute(byte[] data) throws Exception {
zk.setData(path, data, -1);
}
});
}
代码示例来源:origin: apache/zookeeper
@Test
public void testAuthFail() {
try (ZooKeeper zk = createClient()) {
zk.create("/path1", null, Ids.CREATOR_ALL_ACL, CreateMode.PERSISTENT);
Assert.fail("Should have gotten exception.");
} catch (Exception e) {
// ok, exception as expected.
LOG.info("Got exception as expected: " + e);
}
}
代码示例来源:origin: apache/zookeeper
@Test(timeout = 30000)
public void testSimpleDeletion()
throws KeeperException, InterruptedException {
zk.create("/foo", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
zk.create("/foo/bar", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
zk.delete("/foo/bar", -1); // should cause "/foo" to get deleted when checkContainers() is called
ContainerManager containerManager = new ContainerManager(serverFactory.getZooKeeperServer()
.getZKDatabase(), serverFactory.getZooKeeperServer().firstProcessor, 1, 100);
containerManager.checkContainers();
Thread.sleep(1000);
Assert.assertNull("Container should have been deleted", zk.exists("/foo", false));
}
代码示例来源:origin: apache/zookeeper
@Test
public void testNodeCreated() throws Exception {
String path = "/test1-created";
zk1.exists(path, watcher);
qu.shutdown(1);
zk2.create(path, new byte[2], ZooDefs.Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT);
qu.start(1);
watcher.waitForConnected(TIMEOUT * 1000L);
watcher.assertEvent(TIMEOUT, EventType.NodeCreated);
}
代码示例来源:origin: apache/zookeeper
public void verifyCreateFailure_NoChildForEphemeral() {
new StringCB(zk).verifyCreateEphemeral();
rc = Code.NOCHILDRENFOREPHEMERALS;
name = null;
stat = null;
path = path + "/bar";
zk.create(path, data, acl, flags, this, toString());
verify();
}
代码示例来源:origin: apache/zookeeper
public void verifyCreateFailure_NodeExists() {
new Create2CB(zk).verifyCreate();
rc = Code.NODEEXISTS;
name = null;
stat = null;
zk.create(path, data, acl, flags, this, toString());
verify();
}
代码示例来源:origin: apache/zookeeper
@Test
public void testStartup() throws Exception {
final String path = "/test_node";
zk.create(path, new byte[TEST_MAXBUFFER - 60], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
zk.setData(path, new byte[TEST_MAXBUFFER - 50], -1);
stopServer();
startServer();
}
代码示例来源:origin: apache/zookeeper
public void verifyCreateFailure_NodeExists() {
new StringCB(zk).verifyCreate();
rc = Code.NODEEXISTS;
name = null;
zk.create(path, data, acl, flags, this, toString());
verify();
}
代码示例来源:origin: apache/zookeeper
public void verifyCreateFailure_NoChildForEphemeral() {
new StringCB(zk).verifyCreateEphemeral();
rc = Code.NOCHILDRENFOREPHEMERALS;
name = null;
path = path + "/bar";
zk.create(path, data, acl, flags, this, toString());
verify();
}
代码示例来源:origin: apache/zookeeper
@Test
public void testNodeDataChanged() throws Exception {
String path = "/test-changed";
zk1.create(path, new byte[1], ZooDefs.Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT);
Stat stat1 = zk1.exists(path, watcher);
qu.shutdown(1);
zk2.setData(path, new byte[2], stat1.getVersion());
qu.start(1);
watcher.waitForConnected(TIMEOUT);
watcher.assertEvent(TIMEOUT, EventType.NodeDataChanged);
}
我最近安装了一个带有 Exhibitor 的新 ZK 节点,它开始正常。当我执行 telnet localhost 2181 然后运行 stats 以查看版本时,即使我安装了 3.4.11,我仍然
每 the zookeeper docs , 可以创建一种以“ super ”用户身份访问 Zookeeper 集合的方法。这样做的方向在配置和连接方法方面都有些模糊。它确实巧妙地表明这只能通过 Ja
场景如下: Znode 创建:create/config 12345(例如创建于12/12/12) 更新此配置,设置/config 34567(例如在 2013 年 12 月 12 日修改) 一个月后
使用Zookeeper API,是否可以知道当前服务器是否是Zookeeper集群的leader? 文档提到领导者看到了所有追随者中最高的zxid。。是否有可能以某种方式检查? 最佳答案 您可以从不同
我正在学习 ZooKeeper 并研究备份存储在 ZooKeeper 中的数据的选项。 ZooKeeper 写入两个数据文件,快照和事务日志。人们经常提到快照是“模糊的”,需要重放事务日志以获取最新状
用例:一个池中有 100 个服务器;我想在每个服务器上启动一个 ZooKeeper 服务,服务器应用程序(ZooKeeper 客户端)将使用 ZooKeeper 集群(读/写)。那么就没有单点故障。
我正在运行 3 节点 zookeeper 集群来处理 Storm 和 kafka.Zookeeper 数据目录占用了我系统中的所有空间。我不知道如何清理它。因为,我不想完全删除数据,因为我会丢失进程的
我是 Zookeeper 的新手,试图了解它是否适合我的用例。 我有 1000 万个分层数据,我想将它们存储在 Zookeeper 中。 10M 键值对,键值对大小分别为 1KB。 因此,在没有复
在 here 有人说: "even if you read from a different follower every time, you'll never see version 3 of th
Zookeeper 临时节点是否写入磁盘? 我知道在 Zookeeper 确认写入客户端之前,正常的 Zookeeper 节点已写入磁盘。 但是,临时节点仅在客户端 session 期间持续,因此如果
在开发阶段使用zookeeper大约6个月后,虽然运行良好,但其数据目录的大小增长到 6 GIG !而且还在增加。下面列出了一些系统规范: zookeeper version: 3.4.6 numbe
我试图了解 Apache ZooKeeper 在裂脑情况下的内部工作原理。假设有一个由 5 个服务器组成的集群:A、B、C、D 和 E,其中 A 是领导者。现在假设子簇 {A, B} 与子簇 {C,
动物园管理员专家。 我问的问题对你来说可能很基础,但我是 ZK 的新手,我还没有掌握该工具,所以请原谅。考虑到这一点,这是我的问题。 假设我有一个由 5 个服务器组成的 ZK 集群,我有 3 个法定人
我正在尝试了解 Zookeeper 中的分层仲裁。文档 here 举了一个例子,但我仍然不确定我是否理解它。我的问题是,如果我有一个双节点 Zookeeper 集群(我知道不推荐这样做,但为了这个例子
我们使用的是2.3.0版本的curator-framework连接pom文件中的zookeeper。 org.apache.curator curator-fram
我们在开发机器上有一个独立的 zookeeper 设置。除了这台 testdev 机器之外,它适用于所有其他开发机器。 尝试通过 testdev 连接到 zookeeper 时,我们一遍又一遍地收到此
zookeeper 事务日志变得非常大(数千兆字节!)并且集群的每台机器中始终存在一个或最多两个事务日志文件,因为知道可能存在多个快照! .. 引入 autopurge.purgeInterval 和
本文整理了Java中org.apache.flink.shaded.zookeeper.org.apache.zookeeper.ZooKeeper.getSessionId()方法的一些代码示例,展
我需要一些帮助来使用 zookeeper-shell.sh 验证 znode(path) 是否存在于 zookeeper 中 示例:bin/zookeeper-shell.sh zk:9091 ls/
我需要使用 tcpdump 调试我的 kafka 消费者和 zookeeper 之间交换的数据。我浏览了 zookeeper 文档,但找不到任何关于 zookeeper 通信协议(protocol)的
我是一名优秀的程序员,十分优秀!