Apache zookeeper Zookeeper连接超时问题
我们正在使用2.3.0版本的curator framework来连接pom文件中的zookeeper <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.3.0</version> </depe
我们正在使用2.3.0版本的curator framework来连接pom文件中的zookeeper <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.3.0</version> </depe
使用以下命令启动Zookeeper时,它将在以下步骤挂起,并且永远不会以语句“Zookeeper started”结束 INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory) 由于此步骤处于挂起状态,因此不会在Databrick中执行进一步的步骤,因为它们将显示“等待处理” 步骤: 在Databricks中启动集群 创建一个笔记本我使用了python和scala,得
为什么使用者连接到zookeeper来检索分区位置?卡夫卡制作人必须连接其中一个代理才能检索元数据 我的观点是,当每个代理都已经有了所有必要的元数据来告诉生产者发送消息的位置时,zookeeper到底有什么用?经纪人不能将同样的信息发送给消费者吗 我可以理解为什么代理拥有元数据,而不必在每次向其发送新消息时都与zookeeper建立连接。动物园管理员有我没有的功能?我发现很难找到在卡夫卡集群中真正需要zookeeper的原因。首先,zookeeper只适用于高级消费者SimpleConsumer
我的目标是允许客户端锁定现有Zookeeper节点,以便只有一个客户端执行节点数据描述的工作 我正在考虑使用策展人的进程间互斥来促进同步。我的问题是,传递给InterProcessMutex构造函数的path参数应该是指向我希望锁定的节点的路径,还是应该是表示与感兴趣的节点对应的锁的不同路径?策展人文档不清楚path指定的节点中的数据是否被实现使用 是否有更好的方法实现对Zookeeper节点的独占访问?您输入的路径是希望锁定的路径,而不是锁定的路径。策展人为引擎盖下的锁创建了一条路径。如果这是
CLOUDERA QUICKSTART 5.13如下所示 我不确定zookeeper out the box是否正在运行,如果是,那么它是否能够可靠地工作?我在尝试以独立模式从卡夫卡提供的下载版本中运行zookeeper时遇到了这个问题: [2018-06-17 00:49:32,847] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory) [2018-06-1
我可以在Windows上的命令提示符下运行Zookeeper服务器 今天,我希望它作为后台服务运行,并且在操作系统启动时自动启动 我能够使用下面的命令创建服务 sc.exe create ZookeeperService binPath= “C:\zookeeper\apache-zookeeper-3.5.5\bin\zkServer.cmd” …但它未启动,出现以下错误: 那么,我应该如何将Zookeeper服务器作为自动启动的服务来运行呢?我遇到了与您相同的问题,使用是唯一对我有效的
我有三个zookeeper节点。所有端口都是开放的。ip地址是正确的。下面是我的配置文件。chef引导的所有节点都具有相同的安装和配置文件 # The number of milliseconds of each tick tickTime=3000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass bet
Zookeeper为每个事务分配一个名为zxid的唯一编号。它有两个部分——纪元和计数器。我可以在zookeeper的数据目录中找到历代值。但是我找不到柜台。有人知道我在哪里能找到它吗 一般来说,如何为zookeeper获得zxid?证明它非常简单 echo srvr | nc localhost 2181同时查看zookeeper服务器的当前状态,可以显示中回答的zxid。第一次执行telnet: telnet localhost 2181 然后将以下数据发送到服务器: stats 然后收
有没有办法从仲裁中获得当前领先的Mesos master的IP?是否有任何变量存储该值?是。以json格式存储在zk中的主信息。你可以从zk那里得到领袖大师。请参阅本文,了解如何获得它。Macro是将Mesos master json格式添加到zk的作者。 您可以使用Library直接从zk获取leader master。您还可以查询http://{any mesos master}/master/redirect端点,并从返回的位置头解析当前leader master的IP地址
该值是否仅影响传入流量?如果我在zookeeper服务器和zookeeper客户端上将此值设置为4MB,并启动我的客户端,那么当我请求路径/abc/asyncMultiMap/subs时,是否仍会获得大于4MB的数据。如果/subs的数据大于4MB,服务器是否会将其分块响应中没有分块 这是一个服务器端设置。如果整个响应大于jute.maxbuffer设置,则会出现此错误。此响应限制还包括znode的子级列表,因此即使subs没有太多数据,但有足够的子级,以至于它们的路径长度超过了最大缓冲区大小,
我想使用Docker运行ApacheZooKeeper,并插入种子数据(用于测试配置)。我尝试使用如下启动脚本: Dockerfile FROM zookeeper:latest ADD startup.sh . EXPOSE 2181 CMD ["./startup.sh"] startup.sh #!/bin/sh ./bin/zkCli.sh -server localhost:2181 create /foo "" ./bin/zkCli.sh -server localhost:
未将数据复制到每个clickhouse副本。在检查clickhouse服务器日志时,它会显示 DB::StorageReplicatedMergeTree::queueTask()::Poco::Exception。代码:1000,e.代码()=0,e.显示文本()=找不到主机:ip-172-1-140-243(版本19.9.2.4) 我安装了clickhouse和zookeeper,每台机器上有3台不同的机器。我正在尝试使用zookeeper设置3节点clickhouse集群。我已经按照这些步
Zookeeper在超时后未正确恢复,并在未重新启动的情况下进入非工作状态 这是什么原因造成的,我们如何解决 配置 ZOO_TICK_TIME: 2000 ZOO_INIT_LIMIT: 30000 ZOO_SYNC_LIMIT: 10 ZOO_MAX_CLIENT_CNXNS: 2000 ZOO_STANDALONE_ENABLED: 'false' ZOO_AUTOPURGE_PURGEINTERVAL: 1
我正在尝试设置drillv1.18的运行。面对下面的错误 drill-override.conf指向在端口12181上运行的zookeeper。在分布式模式下启动时,会出现以下日志输出失败。但是嵌入式模式没有问题。 这看起来像是权限问题,但zookeeper、drill、zookeeper数据目录都在同一用户下运行 2020-05-10 16:23:01,160 [main] DEBUG o.apache.drill.exec.server.Drillbit - Construction sta
有人能告诉我通过netcat检查zookeeper运行模式的推荐方法吗 文档状态为echo“isro”| nc localhost 2181 但在少数情况下,建议将-q与netcat一起使用 有人能告诉我是否需要使用-q吗 Zookeeper版本3.4.13 OS-Ubuntu18 这完全取决于您拥有的netcat版本。如果键入nc,您将看到可用的支持标志。比如说, nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen -e PROG Run PROG
文件说: 3服务器集成允许单个服务器出现故障,并且服务仍然可用 但是,要建立仲裁,需要有ceil(n/2)+1个节点 在3个节点的情况下,即: ceil(3/2)+1=ceil(1.5)+1=3 因此,如果1个节点关闭,则不应建立仲裁,zookeeper应关闭 在这种情况下,上述文档是否有误?在三节点集群中,仲裁为2,因为这是多数。空间或时间上的任何两个多数都必须重叠;因此,不能不知道任何其他多数中的操作,因为至少有一个节点同时处于两个多数中。这是Paxos算法使用的基本属性(注意Zookeep
我对卡夫卡、动物园管理员和暴风雪还不熟悉。 在我们的环境中,我们有一个卡夫卡经纪人连接到多个动物园管理员。让制作人将消息发送到一个代理上的特定主题和分区给多个动物园管理员,与让多个代理给多个动物园管理员相比,是否有优势?是的。卡夫卡允许您通过添加代理进行扩展。当您将Kafka集群与单个代理一起使用时,所有分区都驻留在该单个代理上。但是当您有多个代理时,Kafka将在它们之间分割分区。因此,代理A可能被选为主题的分区1和2的负责人,代理B可能被选为分区3的负责人。因此,当您将消息发布到主题时,客户
我过去常和我们的动物园管理员通话。我想要由提供的语义,但看起来像CuratorFramework使用有没有办法告诉CuratorFramework使用SessionFailRetryLoop?或者我应该使用而不是CuratorFramework
我正在将Zookeeper从3.4.6升级到3.5.5。 由于org.apache.zookeeper.data包已从3.5.5中删除,我正在寻找替代API 以下两个类的mvn编译失败 org.apache.zookeer.data.ACL和org.apache.zookeer.data.Stat 提前谢谢 如果您认为这两个软件包在ZooKeeper的更高版本中已被删除,则情况并非如此。但是,在为更高版本生成文档的过程中,这些包没有链接,因为它们现在是使用黄麻而不是纯java定义的。因此,要查找
我无法连接到其他kafka群集节点的zk。为了调试该问题,我们尝试使用telnet连接到端口2181上的其他zk群集ip,但发现它无法连接/到达。 i、 e 从ip1框: telnet <ip2> 2181 telnet 2181 无法工作/无法访问 然而,如果我尝试telnet到端口2181的同一个box ip,其工作正常&已连接。 i、 e 从IP1盒来看,telnet 2181工作正常 如何调试此问题并检查根本原因? 另外,请确认confluent zk是否在内部使用tel
Apache Mesos“主”节点能否与Mesos“从”节点位于同一台机器上?类似地(对于高可用性(HA)部署),Mesos“主”节点中使用的Apache Zookeeper节点能否部署在与Mesos“从”节点相同的机器上 Mesos建议将3个“主节点”用于HA部署,Zookeeper建议将5个节点用于其仲裁选举系统。让这些服务沿着Mesos“从”进程运行,而不是将8台机器提交给有效的“非生产”任务,这将是一件好事 如果这种设置是可行的,那么这种设置的利弊是什么 谢谢 您完全可以在同一个节点上运
我们的法定人数为4台服务器,所有服务器都安装了zookeeper 3.4.6。领导人选举目前是自动管理的。但是,我们希望指定一个特定的服务器作为领导者,因为此框更健壮,具有更高的功能。 我正在寻找一个设置,以便将服务器始终指定为领导者。是否可能?。我甚至尝试了zookeeper 3.5.1-alpha版本,但即使是这样,似乎也没有任何特别的设置。我知道有一些算法可以实现选举,但设置对我们更有利 有什么想法吗 谢谢, Ram没有这样的设置。领导人选举是自动的,除非你决定实施一个算法,但在我看来,这
通过Ambari 1.7执行安装,并希望获得有关Zookeeper安装的一些说明。设置涉及(3)个Zookeeper和(3)个Kafka实例。 Ambari UI要求指定Zookeeper主机和Zookeeper客户端/从机。我是否应该选择所有三个Zookeeper节点作为主节点,并在每个Kafka服务器上安装Zookeeper客户端 Zookeeper没有任何主节点,我在这里对Ambari主/从术语有点困惑 Zookeeper服务器被认为是Ambari术语中的主要组件。Kafka要求Zooke
物理机器:192.168.10.1(Mesos、动物园管理员、马拉松) 虚拟机:192.168.122.10(Mesos,Zookeeper) 虚拟机:192.168.122.46(Mesos,Zookeeper) 这三台机器的操作系统都是Fedora23服务器 默认情况下,这两个网络已经相互路由,因为虚拟机都驻留在物理机上 没有防火墙设置 Mesos选举日志: Master bound to loopback interface! Cannot communicate with remote
我知道,随着节点数的增加,zookeeper的读取速度会更快,容错能力也会更强,但写入性能会更差 我想知道zookeeper集群是否有最佳节点号。3适用于大多数用例,但5或7将是最容错的 没有理由拥有更多
我正在学习ZooKeeper,并查看备份ZooKeeper中存储的数据的选项。ZooKeeper写入两个数据文件:快照和事务日志。人们经常提到快照是“模糊”的,需要在快照上重放事务日志以获得最新状态 对于观察者,不会将事务日志持久化到磁盘。如果我拍摄由观察者(或没有事务日志的领导者/追随者)编写的快照,并将其放入新的独立ZooKeeper中,ZooKeeper的状态是否会保证与快照写入磁盘时的状态相同 换句话说,要将ZooKeeper备份到当前状态,需要快照和事务日志。如果我满足于只备份到拍摄快
我现在使用的是CDH-5.3.1集群,其中三个zookeeper实例位于三个IP中: 133.0.127.40 n1 133.0.127.42 n2 133.0.127.44 n3 启动时一切正常,但最近我注意到节点n2不断收到警告: caught end of stream exception EndOfStreamException: Unable to read additional data from client sessionid **0x0**, likely client h
Zookeeper管理员指南如下: 服务器可能无法读取其数据库并且无法启动 由于的事务日志中的某些文件损坏 ZooKeeper服务器。在加载ZooKeeper时,您将看到一些IOException 数据库 在这种情况下,确保集合中的所有其他服务器都是可用的 开始工作。在命令端口上使用“stat”命令查看 他们身体健康。在您验证了所有其他 集合的服务器已启动,您可以继续清理 损坏服务器的数据库。删除中的所有文件 datadir/version-2和datalogdir/version-2/。重新启
我想在下一代Openshift origin online上部署应用程序。将至少有4个POD通过服务进行通信 在第一舱,我必须运行动物园管理员。所以我创建了一个POD,docker图片中的Zookeeper将在其中运行,但POD的状态是:崩溃循环后退 我创建了一个新项目 oc new-project my-project 我从docker创建了一个新的应用程序来部署我的zookeeper oc new-app mciz/zookeeper-docker-infispector --name z
在使用zkCleanup.sh脚本删除旧快照之前是否需要停止zookeeper?否 根据HortonWorks的说法 Cloudera也没有提到为了清除旧快照而停止ZooKeeper的必要性 由于HortonWorks和Cloudera代表了Hadoop的大部分商业安装,我将把它视为可靠的事实来源
我目前在Zookeeper集合中有3台机器-我已经设置了配置文件,集合中的3台机器可以相互通信 领导人选举究竟是什么?我是否需要使用LeaderLatch来启动leader选举,还是在正确设置配置文件后自动进行?这有点让人困惑,因为Zookeeper服务器本身就有一个leader的概念,当您设置ZK集合时,它会负责选举。但这位领导人纯粹是ZK的内部成员。有关更多详细信息,请参阅 如果你想为你的应用程序进行领袖选举,那么你需要实现一个领袖选举配方,要么使用像Curator LeaderLatch这
我正在用LeaderLatch玩领导人选举。当ZooKeeper安装在本地时,只有一个实例时,我有大约30秒的时间来选举领导人;当领导人下台时(当我终止流程时),我几乎有同样的时间来选举新领导人。这应该是这样工作的吗?我能加快速度吗 我使用以下代码: CuratorFramework curator = CuratorFrameworkFactory.newClient("127.0.0.1", new ExponentialBackoffRetry(100, 3)); cura
我用的是动物园管理员。有没有办法让两个节点共享同一个子节点?或者(在zookeeper中)有一些类似于文件系统中符号链接的概念吗? 例如,/parent\u node\u 1具有/parent\u node\u 1/child\u node/父节点有/parent\u node\u 2/child\u node。/parent\u node\u 1/child\u node在物理上是否可以与/parent\u node\u 2/child\u node相同。但是,没有什么可以阻止您制定符号链接约
我试图用Curator进程间锁替换数据库悲观锁。对于数据库锁,我在事务开始时对实体执行select for updatelock,并在提交事务时释放它。事务可以跨越多个方法,如果链中的任何方法再次尝试获取该锁,它将在同一事务/线程中运行时获取该锁 现在使用zookeeper lock,我看到的示例如下所示: InterProcessMutex lock = new InterProcessMutex(client, lockPath); if ( lock.acquire(maxWait, wa
我正在运行3节点zookeeper群集来处理storm和kafka。zookeeper数据目录占用了我系统中的所有空间。我不确定如何清理它。因为,我不想完全删除数据,因为我将丢失进程的状态。我在zoo.cfg中查看了autopurgeinterval,但它没有像我预期的那样工作 我正在使用zookeeper 3.4.6 如何删除旧数据而不影响新数据 停止动物园管理员 转到动物园管理员的bin文件夹 运行/zkCli.sh 使用ls/检查Zookeeper的内容 用确切路径标识要删除的内容 删除/
我们从zkCli.sh更改Zookeeper的键值,并希望跟踪更改的键及其值 ZK datadirlog存储在/data/zookeeper/log/version-2/log.40084828c中 这是二进制的,为了获得人类可以理解的格式,我们使用以下命令: java-cp/opt/zookeeper-3.4.9/zookeeper-3.4.9.jar:lib/log4j-1.2.16.jar:lib/slf4j-log4j12-1.6.1.jar:lib/slf4j-api-1.6.1.ja
我使用zookeeper进行过程协调。我将带有数据的临时节点设置为正在运行且已完成。所以,一旦一个进程在运行状态下崩溃,其他副本应该接管,但在完全状态下,副本应该将其视为完成,其他副本不需要在其完成时采取任何操作。但问题是,当我通过调用delete node API设置状态完成并删除临时节点时,不会向复制副本接收状态完成更改事件,但会向其他复制副本接收节点删除事件,尽管该节点的删除事件会向其他复制副本创建,但生成的事件包含正在运行的数据(预计将完成)。虽然在删除该节点之前设置了该临时节点上的数据
我正试图在Zookeeper中设置一个屏障。当有少量节点需要加入才能通过屏障时,我的实现始终有效。但是,当我使用100多个需要加入屏障的节点测试我的实现时,大约有1%的时间似乎其中一个节点缺少最后一个观察者事件,并且没有检查屏障节点的子节点数量是否已更改 我甚至在watcher上同步了process方法,但这并没有改变任何事情。下面是我的流程方法的代码,以及检查是否需要继续的逻辑 观察者进程: public BarrierWatcher(FastBarrier FastBarrier) {
进程间互斥与进程间信号量互斥之间有什么区别?say进程间信号量互斥与进程间互斥相同,只是它不是可重入的。但我不知道可重入性是什么意思。在此上下文中,可重入性意味着线程可以多次调用同一个锁上的acquire,并且在第二次或第三次调用时不会阻塞它。然而,它必须用相同数量的发布来平衡所有的收购。这篇StackOverflow文章详细介绍了重入锁: 针对策展人,以下是文档中关于不同锁的说明: : public void acquire() 获取互斥锁阻塞,直到 可用。注意:同一线程可以重新调用acqu
在阅读时,我并没有真正理解音序器的用途 假设我们有4个实体: 圆细胞 客户1 客户2 我们想要使用的服务以及我们将在哪里发送请求(我们需要锁) 据我所知,这些步骤是: 客户端1发送lock_request()到Chubby cell,Chubby使用Sequencer(假设SequenceNumber=1) 客户端1使用Sequencer(SequenceNumber=1)发送请求修改数据() 服务询问胖细胞SequenceNumber是否有效(=1) Chubby承认它,设置LeasePer
我是zookeeper的新手,尝试使用zookeeper java API创建ZNode znode的结构是这样的-- /MyConfig/txndb/ /MyConfig/txndb/ 如果我试试这个-- 它正在成功创建/MyConfig节点。但是如果我用这个-- 这个例外是失败的-- 我做错了什么?感谢你的指点 zk.create("/MyConfig", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSI
我们在开发机器上有一个独立的zookeeper设置。除了这台testdev机器之外,它对其他所有dev机器都可以正常工作 在尝试通过testdev连接zookeeper时,我们反复遇到此错误: 2012-11-09 14:06:53,909 - INFO [main-SendThread(zk01.dev.bunchball.net:2181):ClientCnxn$SendThread@947] - Socket connection established to zk01.dev.bunc
下面是一个众所周知的关于动物园管理员保护的问题。我可能知识有限,或者是动物园管理员,或者可能是xy问题的经典例子中的陷阱。所以我愿意接受各种建议,请不要提任何想法 如果我想在3台具有静态IP的服务器上运行Zoookeeper仲裁。我已经完成了所有的配置和测试 My quorum are distributed over 3 server which static ip , lets say server.1=xx.xx.x1:2888:3888 server.2=xx.xx.x2:2889
我想了解动物园管理员如何处理多个手表 i、 e假设有一个watcherMyWatcher和一个zkPathmyZkPath,每当我用MyWatcher调用exists(),它就会不断向myZkPath添加手表。 我这里的问题是,当将来只有一个通知时,如何从同一zk会话处理同一zkPath的这些监视列表?相同手表的列表是否只会有一个通知,或者会发生其他事情
下面我将配置messos 3节点主集群和3节点从集群。然而,当我启动主zookeepers时,我会得到以下错误日志 2017-07-05 09:46:18,568 - INFO [main:FileSnap@83] - Reading snapshot /var/lib/zookeeper/version-2/snapshot.100000016 2017-07-05 09:46:18,606 - ERROR [main:FileTxnSnapLog@210] - Parent /mesos/
每当我启动zookeeper服务器时,都会出现以下错误 [2020-05-12 08:11:43,510] ERROR Unexpected exception, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain) org.apache.zookeeper.server.persistence.FileTxnSnapLog$SnapDirContentCheckException: Snapshot dir
用例:池中有100台服务器;我想在每台服务器上启动ZooKeeper服务,服务器应用程序(ZooKeeper客户端)将使用ZooKeeper集群(读/写)。那么就没有单一的故障点了 此解决方案是否适用于此用例?演出怎么样 如果池中有1000台服务器怎么办?如果您只是试图避免单点故障,那么您只需要3台服务器。在3节点集成中,可以容忍单个故障,其余2个节点构成仲裁。服务器越多,写性能就会越差。如果ZK能够处理的话,100台服务器是极端的 然而,拥有如此多的客户根本不是问题。Zookeeper拥有10
在分布式系统中,5个进程,使用zookeeper进行协调。 我需要在每一轮中逐一运行这些流程。 运行顺序是动态的,但每一轮都是已知的 有动物园管理员的食谱能做到这一点吗?谢谢 例如: 第一轮:12345 第二轮:3 2 4 1 5您的问题没有完全确定: 在给定进程无法启动的情况下,我们是否有任何类型的超时或系统只是停止 流程是否在每轮之间终止,以便每轮都由外部机制启动 我们是否关心进程终止状态?如果一个进程启动,但在执行过程中失败,那么下一个进程是否应该启动? 在最简单的情况下,当我们 接受停
我正在使用solrCloud 6.1.0。我试图用manifoldcf2.4爬行。但它不起作用 以下是执行环境。 java:1.8(但是,安装manifoldcf时是1.7) 动物园管理员:3.4.9 如果我用manifoldcf开始工作,我可以抓取前几个项目。 但是,一段时间后,zookeeper发生连接错误,solrCloud配置的节点的一部分掉落 下面是zookeeper的错误日志 错误org.apache.solr.servlet.SolrDispatchFilter null:org.
我们使用Zookeeper来协调集群服务器之间的任务执行。我们的一个客户的网络非常不稳定,我们的服务器不断断开连接并重新连接到Zookeeper 问题是,在断开连接时,我们的服务器将错过发生的事件,即使重新连接到Zookeeper,也不会处理这些事件 使用Zookeeper和Apache Curator是否有推荐的\标准方法来处理此类情况 如何在Zookeeper中识别当前纪元时间 到目前为止,我的建议是: 我们记录了上次和动物园管理员联系的时间。就在我们断开连接之前 再次重新连接时,我们询