- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中com.alibaba.wasp.zookeeper.ZKAssign.transitionNode()
方法的一些代码示例,展示了ZKAssign.transitionNode()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZKAssign.transitionNode()
方法的具体详情如下:
包路径:com.alibaba.wasp.zookeeper.ZKAssign
类名称:ZKAssign
方法名:transitionNode
[英]Method that actually performs unassigned node transitions.
Attempts to transition the unassigned node for the specified entityGroup from the expected state to the state in the specified transition data.
Method first reads existing data and verifies it is in the expected state. If the node does not exist or the node is not in the expected state, the method returns -1. If the transition is successful, the version number of the node following the transition is returned.
If the read state is what is expected, it attempts to write the new state and data into the node. When doing this, it includes the expected version (determined when the existing state was verified) to ensure that only one transition is successful. If there is a version mismatch, the method returns -1.
If the write is successful, no watch is set and the method returns true.
[中]方法,实际执行未分配的节点转换。
尝试将指定entityGroup的未分配节点从预期状态转换为指定转换数据中的状态。
方法首先读取现有数据并验证其是否处于预期状态。如果节点不存在或节点未处于预期状态,则该方法返回-1。如果转换成功,则返回转换后节点的版本号。
如果读取状态是预期的,它会尝试将新状态和数据写入节点。执行此操作时,它包括预期版本(在验证现有状态时确定),以确保只有一个转换成功。如果存在版本不匹配,则该方法返回-1。
如果写入成功,则不设置监视,该方法返回true。
代码示例来源:origin: alibaba/wasp
public static int transitionNodeOpening(ZooKeeperWatcher zkw,
EntityGroupInfo entityGroup, ServerName serverName, final EventType beginState)
throws KeeperException {
return transitionNode(zkw, entityGroup, serverName, beginState,
EventType.FSERVER_ZK_ENTITYGROUP_OPENING, -1);
}
代码示例来源:origin: alibaba/wasp
/**
* Fakes the regionserver-side zk transitions of a region open.
* @param w ZooKeeperWatcher to use.
* @param sn Name of the regionserver doing the 'opening'
* @param egInfo EntityGroup we're 'opening'.
* @throws org.apache.zookeeper.KeeperException
* @throws com.alibaba.wasp.DeserializationException
*/
static void fakeEntityGroupServerEntityGroupOpenInZK(FMaster master, final ZooKeeperWatcher w,
final ServerName sn, final EntityGroupInfo egInfo)
throws KeeperException, DeserializationException, InterruptedException {
// Wait till the we region is ready to be open in RIT.
waitForEntityGroupPendingOpenInRIT(master.getAssignmentManager(), egInfo.getEncodedName());
// Get current versionid else will fail on transition from OFFLINE to OPENING below
int versionid = ZKAssign.getVersion(w, egInfo);
assertNotSame(-1, versionid);
// This uglyness below is what the openregionhandler on FSERVER side does. I
// looked at exposing the method over in openregionhandler but its just a
// one liner and its deep over in another package so just repeat it below.
versionid = ZKAssign.transitionNode(w, egInfo, sn,
EventType.M_ZK_ENTITYGROUP_OFFLINE, EventType.FSERVER_ZK_ENTITYGROUP_OPENING, versionid);
assertNotSame(-1, versionid);
// Move znode from OPENING to OPENED as FSERVER does on successful open.
versionid = ZKAssign.transitionNodeOpened(w, egInfo, sn, versionid);
assertNotSame(-1, versionid);
// We should be done now. The master open handler will notice the
// transition and remove this regions znode.
}
代码示例来源:origin: alibaba/wasp
versionid = ZKAssign.transitionNode(server.getZooKeeper(),
ENTITYGROUPINFO, SERVERNAME_A, EventHandler.EventType.M_ZK_ENTITYGROUP_OFFLINE,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_OPENING, versionid);
代码示例来源:origin: alibaba/wasp
/**
*
* @param zkw
* zk reference
* @param parent
* entityGroup to be transitioned to splitting
* @param serverName
* server event originates from
* @param version
* znode version
* @return version of node after transition, -1 if unsuccessful transition
* @throws org.apache.zookeeper.KeeperException
* @throws java.io.IOException
*/
int transitionNodeSplitting(final ZooKeeperWatcher zkw,
final EntityGroupInfo parent, final ServerName serverName,
final int version) throws KeeperException, IOException {
return ZKAssign.transitionNode(zkw, parent, serverName,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLITTING,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLITTING, version);
}
代码示例来源:origin: alibaba/wasp
EntityGroupInfo entityGroup, ServerName serverName, int expectedVersion)
throws KeeperException {
return transitionNode(zkw, entityGroup, serverName,
EventType.M_ZK_ENTITYGROUP_CLOSING, EventType.FSERVER_ZK_ENTITYGROUP_CLOSED,
expectedVersion);
代码示例来源:origin: alibaba/wasp
EntityGroupInfo entityGroup, ServerName serverName, int expectedVersion)
throws KeeperException {
return transitionNode(zkw, entityGroup, serverName,
EventType.FSERVER_ZK_ENTITYGROUP_OPENING, EventType.FSERVER_ZK_ENTITYGROUP_OPENED,
expectedVersion);
代码示例来源:origin: alibaba/wasp
ServerName serverName, EventType beginState, EventType endState,
int expectedVersion) throws KeeperException {
return transitionNode(zkw, entityGroup, serverName, beginState, endState,
expectedVersion, null);
代码示例来源:origin: alibaba/wasp
EntityGroupInfo entityGroup, ServerName serverName, int expectedVersion)
throws KeeperException {
return transitionNode(zkw, entityGroup, serverName,
EventType.FSERVER_ZK_ENTITYGROUP_OPENING, EventType.FSERVER_ZK_ENTITYGROUP_OPENING,
expectedVersion);
代码示例来源:origin: alibaba/wasp
private static int tickleNodeSplit(ZooKeeperWatcher zkw,
EntityGroupInfo parent, EntityGroupInfo a, EntityGroupInfo b,
ServerName serverName, final int znodeVersion) throws KeeperException,
IOException {
byte[] payload = EntityGroupInfo.toDelimitedByteArray(a, b);
return ZKAssign.transitionNode(zkw, parent, serverName,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLIT,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLIT, znodeVersion,
payload);
}
}
代码示例来源:origin: alibaba/wasp
IOException {
byte[] payload = EntityGroupInfo.toDelimitedByteArray(a, b);
return ZKAssign.transitionNode(zkw, parent, serverName,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLITTING,
EventHandler.EventType.FSERVER_ZK_ENTITYGROUP_SPLIT, znodeVersion,
代码示例来源:origin: alibaba/wasp
/**
* @param egi
* we're working on. This is not guaranteed to succeed, we just do
* our best.
* @return whether znode is successfully transitioned to FAILED_OPEN state.
*/
private boolean tryTransitionToFailedOpen(final EntityGroupInfo egi) {
boolean result = false;
final String name = egi.getEntityGroupNameAsString();
try {
LOG.info("Opening of entityGroup " + egi
+ " failed, marking as FAILED_OPEN in ZK");
if (ZKAssign.transitionNode(this.server.getZooKeeper(), egi,
this.server.getServerName(),
EventType.FSERVER_ZK_ENTITYGROUP_OPENING,
EventType.FSERVER_ZK_ENTITYGROUP_FAILED_OPEN, this.version) == -1) {
LOG.warn("Unable to mark entityGroup " + egi + " as FAILED_OPEN. "
+ "It's likely that the master already timed out this open "
+ "attempt, and thus another RS already has the entityGroup.");
} else {
result = true;
}
} catch (KeeperException e) {
LOG.error("Failed transitioning node " + name
+ " from OPENING to FAILED_OPEN", e);
}
return result;
}
代码示例来源:origin: alibaba/wasp
/**
* Transition ZK node from OFFLINE to OPENING.
*
* @param encodedName
* Name of the znode file (EntityGroup encodedName is the znode
* name).
* @param versionOfOfflineNode
* - version Of OfflineNode that needs to be compared before changing
* the node's state from OFFLINE
* @return True if successful transition.
*/
boolean transitionZookeeperOfflineToOpening(final String encodedName,
int versionOfOfflineNode) {
try {
// Initialize the znode version.
this.version = ZKAssign.transitionNode(server.getZooKeeper(),
entityGroupInfo, server.getServerName(),
EventType.M_ZK_ENTITYGROUP_OFFLINE,
EventType.FSERVER_ZK_ENTITYGROUP_OPENING, versionOfOfflineNode);
} catch (KeeperException e) {
LOG.error("Error transition from OFFLINE to OPENING for entityGroup="
+ encodedName, e);
}
boolean b = isGoodVersion();
if (!b) {
LOG.warn("Failed transition from OFFLINE to OPENING for entityGroup="
+ encodedName);
}
return b;
}
代码示例来源:origin: alibaba/wasp
stat.getVersion());
ZKAssign.transitionNode(zkw, entityGroup.getEntityGroupInfo(),
server.getServerName(), EventType.FSERVER_ZK_ENTITYGROUP_OPENED,
EventType.FSERVER_ZK_ENTITYGROUP_OPENED, stat.getVersion());
我最近安装了一个带有 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)的
我是一名优秀的程序员,十分优秀!