zookeeper客户端接收到zokeeper的更新事件后更新本地缓存需要自己实现吗? 20C

zookeeper客户端接收到zokeeper的更新事件后更新本地缓存需要自己实现吗?怎么实现?

1个回答

当客户端向ZooKeeper服务器注册Watcher的同时,会将Watcher对象存储在客户端的WatchManager中。当ZooKeeper服务器端触发Watcher事件后,会向客户端发送通知,客户端线程从WatchManager中取出对应的Watcher对象来执行回调逻辑。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

zookeeper客户端连接一直报无法定位登录配置信息,可能原因有哪些?求教?

启动三台主机,有两台主机客户端连接zookeeper时一直报错无法定位登录配置,可能都有哪些原因造成的?

求前辈大神指导一下小弟,linux部署zookeeper时候,启动客户端报无法定位登录配置

# 在linux上部署zookeeper一直报无法定位配置 ![图片说明](https://img-ask.csdn.net/upload/201612/31/1483178748_519055.png) # 这是我的zoo.cfg 的配置 ![图片说明](https://img-ask.csdn.net/upload/201612/31/1483178759_411102.png) # 这是我hosts文件的配置 ![图片说明](https://img-ask.csdn.net/upload/201612/31/1483178768_51698.png) 我是按照别人的视频配置的, 服务器是我从腾讯云上面买的 就是怎么都不成功 实在是走不下去了 想请教前辈大神指导

zkclient监控不到zookeeper节点数据的问题

zkclient可以监控到自己框架上传到节点的数据,而检测不到其他方式上传到同一个节点的数据,这一点很奇怪,有大神解释下吗

go-zookeeper Connect在没有有效连接的情况下返回

<div class="post-text" itemprop="text"> <p>I have a question regarding zookeeper, I am trying to implement simple service discovery with zookeeper in go, I am using go-zookeeper: <a href="https://github.com/samuel/go-zookeeper" rel="nofollow noreferrer">https://github.com/samuel/go-zookeeper</a></p> <p>My question is whenever I connect to zookeeper using for example:</p> <pre><code>zoo_keeper, _, err := zk.Connect(s, time.Second) </code></pre> <p>the function returns immediately and no error is reported, but there is no actual valid connection yet. Now for example if I want to create znodes, what do I need to check to make sure I have a valid connection before doing so?</p> </div>

Zookeeper在Centos下编译C客户端./configure出现失败,

hecking for gethostbyname... yes checking for gethostname... yes checking for getlogin... yes checking for getpwuid_r... yes checking for gettimeofday... yes checking for getuid... yes checking for memmove... yes checking for memset... yes checking for poll... yes checking for socket... yes checking for strchr... yes checking for strdup... yes checking for strerror... yes checking for strtol... yes configure: creating ./config.status ./config.status: line 331: syntax error near unexpected token `newline' ./config.status: line 331: `"'

zookeeper服务器只能在本地访问

zookeeper服务器搭建在ubuntu虚拟机上,虚拟机自己访问可以实现,真实机去访问的 用的是python 的kazoo模块,一直无法正常开启连接,求解

java程序里如何集成zookeeper应用

在网上的资料全是zookeeper的安装测试,这些我已经完成了,现在想在java程序里调用zookeeper集群选举出来的leader的IP地址,这个需求应该怎么用java实现,求高手解答,谢谢!

dubbo服务端有返回,客户端接收到null的问题【紧急】

### 现象 服务端日志已经显示返回结果,结果为自定义对象 格式如下: ``` AcctQueryFacadeImpl.acctBalanceQuery00, resp=AcctBalanceQuery00Resp[uid=1355739,acctStatus=N,createTime=Fri Mar 04 21:36:31 CST 2016,updateTime=Wed Apr 20 19:52:24 CST 2016,acctId=4985191,balance=0,frozenBalance=0,withdrawBalance=0,respDesc=成功,respCode=000000], time=2ms ``` 客户端接收到的对象为null 该现象并不是必现, - 现象1:调用acctBalanceQuery00方法一天有几十万次,目前出现问题的仅3例 - 现象2:有2条失败数据,重试之后,1条成功,1条仍然失败 - 现象3:很多业务调用acctBalanceQuery00方法,但目前只有1个业务出问题,这些业务入参基本一样,(此现象也许是巧合) - 现象4:用dubbo telnet invoke acctBalanceQuery00方法,有结果返回,用出问题的数据invoke,也有结果返回,所有机器都试过 ### 环境 jdk1.8 dubbo版本 2.5.3 服务端4台,客户端10台左右 dubbo服务端配置如下: ``` <dubbo:application name="xxx" owner="yy"/> <dubbo:registry protocol="zookeeper" client="zkclient" address="${dubbo.zk.servers}" group="${dubbo.zk.group}"></dubbo:registry> <dubbo:protocol name="dubbo" port="20909"></dubbo:protocol> <dubbo:provider retries="0" timeout="6000"></dubbo:provider> <dubbo:service interface="xxxx" ref="xxx"></dubbo:service> ``` dubbo消费端配置: ``` <dubbo:application name="${application.name}" owner="${dubbo.application.owner}"/> <dubbo:registry protocol="zookeeper" client="zkclient" address="${dubbo.zk.servers}" group="${dubbo.zk.group}"></dubbo:registry> <dubbo:protocol name="dubbo" port="${dubbo.protocol.port}"></dubbo:protocol> <dubbo:monitor address="${dubbo.monitor.address}"></dubbo:monitor> <dubbo:consumer retries="0" timeout="6000" check="false"></dubbo:consumer> ```

我的zookeeperip映射不对,然后用ip地址又会报错

我的三台虚拟机的zoo.conf配置如下 ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810585_831051.png) ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810594_708340.png) ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810604_224753.png) 这是我的三台虚拟机的hosts配置 ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810626_883136.png) ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810635_446183.png) ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810643_587810.png) 然后我用映射会报这样的错 ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810841_792955.png) 将映射改成ip,又会报这种错 ![图片说明](https://img-ask.csdn.net/upload/201705/15/1494810713_188780.png) 有懂的朋友帮忙看下不,小弟在此感谢不尽

请教一个zookeeper连接太频繁会爆错误的问题

请教一个问题,现在的项目需要频繁连接zookpeeper,但是zookeeper连接太频繁会爆一个错误,请大神帮忙看下怎么处理好,2016-10-20 12:25:39 ERROR [org.apache.solr.common.cloud.ZkStateReader] org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /aliases.json at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041) at org.apache.solr.common.cloud.SolrZkClient$3.execute(SolrZkClient.java:195) at org.apache.solr.common.cloud.SolrZkClient$3.execute(SolrZkClient.java:192) at org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:66) at org.apache.solr.common.cloud.SolrZkClient.exists(SolrZkClient.java:192) at org.apache.solr.common.cloud.ZkStateReader.createClusterStateWatchersAndUpdate(ZkStateReader.java:360)

zookeeper使用java用客户端创建临时节点,控制台卡在一个地方不动了?

![图片说明](https://img-ask.csdn.net/upload/201904/13/1555128663_784871.png) 服务端已经启动成功,然后建了一个springboot项目,添加好注解@RestController@SpringBootApplication@EnableDiscoveryClient后,启动程序,控制台卡在图片红色框哪里不动了,请大神帮忙解决下。

求助,hbase自带的zookeeper在哪里启动配置

我在试着搭一个hbase,单机模式的,所以用自带的zookeeper,hadoop配好了,但是启动start-hbase.cmd时总是报错。 报错信息是这样的: 2017-12-06 16:38:11,275 INFO [M:0;WIN-52F19LCA43O:55968] client.ZooKeeperRegistry: ClusterId read in ZooKeeper is null 2017-12-06 16:38:18,010 INFO [SessionTracker] server.ZooKeeperServer: Expiring session 0x1602af5c9830003, timeout of 10000ms exceeded 2017-12-06 16:38:18,010 INFO [SessionTracker] server.ZooKeeperServer: Expiring session 0x1602af5c9830001, timeout of 10000ms exceeded 2017-12-06 16:38:18,010 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor : Processed session termination for sessionid: 0x1602af5c9830003 2017-12-06 16:38:18,010 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Processed session termination for sessionid: 0x1602af5c9830001 2017-12-06 16:38:40,606 FATAL [WIN-52F19LCA43O:55968.activeMasterManager] master.HMaster:Failed to become active master java.io.IOException: Mkdirs failed to create file:/localhost:9000/.tmp (exists=false, cwd=file:/F:/360Downloads/hbase-1.2.3/bin) 启动之前的节点是这样的: F:\360Downloads\hbase-1.2.3\bin>jps 11232 NameNode 12592 Jps 9412 DataNode F:\360Downloads\hbase-1.2.3\bin>start-hbase.cmd 好像是这个zookeeper从来没有连上过,一直是空的,求各位帮忙看一下。

zookeeper启动成功了 查看status却错误连接 什么意思

[root@localhost bin]# ./zkServer.sh start JMX enabled by default Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@localhost bin]# ./zkServer.sh status JMX enabled by default Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg Error contacting service. It is probably not running. [root@localhost bin]# ./zkServer.sh stop JMX enabled by default Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg Stopping zookeeper ... ./zkServer.sh: line 143: kill: (3017) - 没有那个进程 STOPPED

zookeeper集群,宕掉1个后,都不能用了

我用VMWare搭建了3个主机的zookeeper,已经实现了数据同步了(在一个主机创建了数据,在其他主机,启动客户端,都能查看了)。但,其中一个kill -9 id后,其他的都不能用了。 ``` [root@wqb99 ~]# /itcast/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /itcast/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: leader [root@wqb99 ~]# jps 2739 Jps 2531 QuorumPeerMain [root@wqb99 ~]# kill -9 2531 [root@wqb99 ~]# jps 2749 Jps [root@wqb99 ~]# ``` 发现其他节点也宕机了 (1) [root@wqb88 ~]# /itcast/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /itcast/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower [root@wqb88 ~]# /itcast/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /itcast/zookeeper-3.4.9/bin/../conf/zoo.cfg Error contacting service. It is probably not running. [root@wqb88 ~]# (2) [root@wqb66 bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /itcast/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower [root@wqb66 bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /itcast/zookeeper-3.4.9/bin/../conf/zoo.cfg Error contacting service. It is probably not running. [root@wqb66 bin]#

Zookeeper的Curator客户端异步创建节点,没有先后顺序吗?

先上代码: ``` package book.chapter05.$5_4_2; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.framework.api.BackgroundCallback; import org.apache.curator.framework.api.CuratorEvent; import org.apache.curator.retry.ExponentialBackoffRetry; import org.apache.zookeeper.CreateMode; //使用Curator的异步接口 public class Create_Node_Background_Sample { static String path = "/zk-book"; static CuratorFramework client = CuratorFrameworkFactory.builder() .connectString("domain1.book.zookeeper:2181") .sessionTimeoutMs(5000) .retryPolicy(new ExponentialBackoffRetry(1000, 3)) .build(); static CountDownLatch semaphore = new CountDownLatch(2); static ExecutorService tp = Executors.newFixedThreadPool(2); public static void main(String[] args) throws Exception { client.start(); System.out.println("Main thread: " + Thread.currentThread().getName()); // 此处传入了自定义的Executor client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).inBackground(new BackgroundCallback() { @Override public void processResult(CuratorFramework client, CuratorEvent event) throws Exception { System.out.println("One event[code: " + event.getResultCode() + ", type: " + event.getType() + "]"); System.out.println("One Thread of processResult: " + Thread.currentThread().getName()); semaphore.countDown(); } }, tp).forPath(path, "init".getBytes()); // 此处没有传入自定义的Executor client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).inBackground(new BackgroundCallback() { @Override public void processResult(CuratorFramework client, CuratorEvent event) throws Exception { System.out.println("Two event[code: " + event.getResultCode() + ", type: " + event.getType() + "]"); System.out.println("Two Thread of processResult: " + Thread.currentThread().getName()); semaphore.countDown(); } }).forPath(path, "init2".getBytes()); semaphore.await(); System.out.println("通过CountDownLatch主线程一直等待,直到计数减到0"); tp.shutdown(); } } ``` 运行结果情况(1): Main thread: main Two event[code: 0, type: CREATE] Two Thread of processResult: main-EventThread One event[code: -110, type: CREATE] One Thread of processResult: pool-3-thread-1 通过CountDownLatch主线程一直等待,直到计数减到0 运行结果情况(2): Main thread: main Two event[code: -110, type: CREATE] Two Thread of processResult: main-EventThread One event[code: 0, type: CREATE] One Thread of processResult: pool-3-thread-1 通过CountDownLatch主线程一直等待,直到计数减到0 问题内容: 请问一下,主线程中是 One先创建的节点,然后才是Two创建的节点,zookeeper对于同一客户端的会话请求不是顺序执行的吗?为什么有时候是Two先创建的节点,有时候是One先创建成功节点呢?

zookeeper死了后,dubbo上的服务要重启吗

zookeeper死了后,重启了zk,dubbo上的服务一定要重启吗

zookeeper启动后自关闭

之前一直好好的,三个虚拟机,现在两个都启动不起来,第一次启动的时候还会有QuorumPeerMain进程,但基本上三秒就自动关闭了,之后再启动就启动不起来了,连这个进程也不会出现了。重装也试过了,还是一样。 出问题的是master和slave01节点,slave02正常。打开hadoop的时候,slave01也无法正常启动。 dataLogDir=/usr/zookeeper/var/datalog 但是我把之前的日志都清空之后,再启动也没有新的日志产生 zookeeper的日志怎么查看?

使用zookeeper做分布式锁的疑惑

最近项目中有使用分布式锁的需求,转了一圈以后决定使用zookeeper来实现。 实现过程中使用到了zookeeper的临时有序节点(EPHEMERAL SEQUENTIAL),现在有一个问题,如果这个节点后的数字长到最大值了以后会出什么问题?是不是这种方式不可靠? 希望大家可以帮助我,谢谢。

dubbo zookeeper配置中心

dubbo中有没有方法可以获取到配置中心拿到的所有配置? 或者说与spring中的定义的properties配置合并, 自定义优先级。 当zookeeper配置发生改变时有没有办法进行监听? 不想自己去连接zk获取或者进行监听。 非常感谢。。

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问