使用 curator 连接 zookeeper 集群 Invalid config event received

dubbo整合zookeeper

如图,错误日志

2023-11-04 21:16:18.699 ERROR 7459 [main-EventThread] org.apache.curator.framework.imps.EnsembleTracker Caller+0         at org.apache.curator.framework.imps.EnsembleTracker.processConfigData(EnsembleTracker.java:214)
 - Invalid config event received: {server.1=master:2888:3888:participant, version=0, server.3=node2:2888:3888:participant, server.2=node1:2888:3888:participant}
2023-11-04 21:16:18.699  INFO 7459 [main-EventThread] org.apache.curator.framework.imps.EnsembleTracker Caller+0         at org.apache.curator.framework.imps.EnsembleTracker.processConfigData(EnsembleTracker.java:201)
 - New config event received: {server.1=master:2888:3888:participant, version=0, server.3=node2:2888:3888:participant, server.2=node1:2888:3888:participant}
2023-11-04 21:16:18.699 ERROR 7459 [main-EventThread] org.apache.curator.framework.imps.EnsembleTracker Caller+0         at org.apache.curator.framework.imps.EnsembleTracker.processConfigData(EnsembleTracker.java:214)
 - Invalid config event received: {server.1=master:2888:3888:participant, version=0, server.3=node2:2888:3888:participant, server.2=node1:2888:3888:participant}

由日志得知

org.apache.curator.framework.imps.EnsembleTracker.processConfigData(EnsembleTracker.java:214)

是 curator 组件的 EnsembleTracker 的 214 行日志错误

顺藤摸瓜

得知,是日志级别的问题,不是异常

搜索引擎搜一下,看是否有人遇到过类似的问题

https://github.com/apache/druid/issues/11971

https://issues.apache.org/jira/browse/CURATOR-526

https://github.com/apache/curator/pull/382

得知这个问题是日志级别设置错误了,在 curator 5.x 修复了这个问题,自己在试了 maven 仓库中从 5.0.0 开始的版本,从 5.2.0 中开始变成了 info。

在 Java 中使用 Curator 库创建 ZooKeeper 临时节点可以按照以下步骤进行: 1. 首先,确保已将 Curator 添加到项目的依赖项中。可以在 Maven 或 Gradle 中添加以下依赖项: ```xml <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>4.3.0</version> </dependency> ``` 2. 创建 CuratorFramework 实例,并使用 ZooKeeper连接字符串进行初始化,如下所示: ```java CuratorFramework client = CuratorFrameworkFactory.newClient("localhost:2181", new ExponentialBackoffRetry(1000, 3)); client.start(); ``` 这里使用了本地的 ZooKeeper 连接字符串 "localhost:2181",以及默认的重试策略。 3. 使用 CuratorFramework 实例来创建临时节点。例如,可以使用 `create()` 方法来创建一个临时节点,并指定节点路径和数据内容: ```java String nodePath = "/path/to/node"; byte[] data = "Hello, ZooKeeper!".getBytes(); client.create().withMode(CreateMode.EPHEMERAL).forPath(nodePath, data); ``` 这里使用了 `CreateMode.EPHEMERAL` 来指定创建临时节点。你可以根据自己的需求选择节点类型。 注意:CuratorFramework 提供了许多其他方法来管理节点,如删除节点、获取节点数据等等。你可以根据自己的需求选择适当的方法来操作节点。 4. 当不再需要该临时节点时,可以调用 `delete()` 方法来删除节点: ```java client.delete().forPath(nodePath); ``` 这将删除指定路径下的临时节点。 记得在不再使用 CuratorFramework 实例时,关闭它: ```java client.close(); ``` 以上是使用 Curator 创建 ZooKeeper 临时节点的基本步骤。你可以根据自己的需求进行更多操作,例如添加监听器、处理异常等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值