下面是我的supervisord.conf文件。有人会认为它会启动zookeeper,但事实并非如此
如果我运行sh/var/chef/cache/zookeeper-3.4.5/bin/zkServer.sh start-foreground,ZK将手动工作
# -*- conf -*-
[include]
files = *.supervisor
[supervisord]
pidfile = /var/run/supervisord.pid
nodaemon=false
[super
在中,znode的版本号是单调的,每次修改节点时都会更改。这用于实现原子更新,如果版本号与指定的版本号不完全一致,则set操作将失败
但是,删除znode然后重新创建它会重置其版本号。
想象一下这个场景,其中一个进程试图以原子方式增加一个值“/x”:
进程A读取一个znode“/x”。它具有值“1”和版本1
进程B删除“/x”
进程C创建“/x”并将值设置为“0”。版本号现在为0
进程D更新“/x”并将值设置为“100”。版本号现在是1
进程A将1添加到其“/x”的读取副本中,得到“2”。进程A
我在官方网站上找不到zkCli的详细描述
当我输入“帮助”时,信息太有限。Zookeeper界面变得简单,正如官方文档中所说的那样
简单API
ZooKeeper的设计目标之一是提供一个非常简单的编程接口。因此,它仅支持以下操作:
创建:在树中的某个位置创建节点
删除:删除节点
存在:测试某个位置是否存在节点
获取数据:从节点读取数据
设置数据:将数据写入节点
获取子节点:检索节点的子节点列表
同步:等待数据传播>
检查本教程,它将为您提供如何使用本教程的示例:
为什么我找不到官方cli详细说明
我有一个znode:/test
而/test有两个子节点:/test/data1,/test/data2
如何删除/test/data1和/test/data2,但同时不删除节点/test?您可以执行以下操作:
zkCli.sh-server xxx ls/test |
grep“^\[”|\
grep-o-P“\w*”|
读取znode;do zkCli.sh时-服务器xxx删除/test/$znode;完成
这仅使用zkCli.sh和bash命令,但不是最佳的,因为它多次连接到ZooKee
我一直在尝试测试卡夫卡的安装,并使用指南创建了一个生产者和消费者。尝试检索邮件时,我收到以下错误:
WARN Session 0x0 for server null, unexpected error, closing socket connection and
attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: Connection refused
at sun.ni
我正在使用进程间信号量emutex来实现分布式锁定
锁的典型路径可能是
/锁定/日历/uuid
其中uuid当然是uuid,因此可能会生成许多锁路径
我假设这些路径最终需要清理,所以我尝试在解锁锁后使用childreaper和reaper进行清理
“收割者”这类作品。如果我添加/lock/calendar/uuid,它会愉快地删除孩子。日志显示它删除了租约和锁,并且节点本身在zkClient中显示为不存在,但是突然它开始在一个看似无休止的循环中抱怨路径不存在了。尽管尝试了Mode.Delete和
我有3个mesos masters,版本为0.26.0,法定人数为2。当我启动它们时,它们甚至在我打开任何框架或从属之前就一直在重新启动
以下是我看到的错误:
F0322 19:36:56.009903 51459 master.cpp:1368] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins
E0322 19:37:18.300568 41095 process.cpp:1
在测试设置中(单客户端服务器-运行Gatling的本地主机,在测试期间创建和关闭连接),我的单节点Zookeeper将保持所有TCP连接打开,直到测试运行完成
在前2分钟的测试运行期间,我重复创建最多10个并行的客户端连接,这些连接处于活动状态大约30秒,然后再次关闭它们的连接。因此,在任何时候,前2分钟内最多有10个连接处于活动状态。
然后测试继续8分钟,在此期间只有1个客户端连接处于活动状态
客户端:使用策展人2.9.1和Zookeeper 3.4.6
Zookeeper节点:3.4.8-1
我们正在选择实施领导人选举的最佳方案,以实现高可用性。我们的目标是在任何给定时间只有一个实例处于活动状态。我们使用SpringBoot来开发默认部署在Tomcat上的应用程序。很高兴听到您对以下选项的意见:
动物园管理员比领事提供更好的CP吗
关于维护/复杂性的看法?ZooKeeper基于ZAB,Consor基于Raft。两者在高层次上都是非常相似的原子广播算法。因此,就CAP的“一致性”(实际上是线性化能力,一种非常强的一致性形式)而言,两者都将提供类似的保证。它们都具有对仲裁(多数)的线性写
我在使用curator方面是新手,我发现一些框架使用连接池来管理连接,比如jdbc、redis。但是我在curator中找不到连接池。为什么curator不提供连接池来减少每个连接所消耗的资源。一个CuratorFramework实例包装一个ZooKeeper实例,该实例反过来维护与ZooKeeper节点的连接
提供以下订购保证:
可线性化写入:所有更新ZooKeeper状态的请求都是可序列化的,并尊重优先级
先进先出客户端顺序:来自给定客户端的所有请求都按照客户端发送的顺序执行
假设存在具
我需要一些帮助来使用zookeeper-shell.sh验证zookeeper中是否存在znode(路径)
示例:bin/zookeer-shell.sh zk:9091 ls/brokers/idss此处的/brokers/idss不存在于它抛出的zookeer消息中
节点不存在:
我想在我的if条件下使用它并继续逻辑
非常感谢任何帮助?从ZooKeeper 3.4.7及以上版本,zkCli支持命令处理。
因此,您可以发出如下命令来检查znode是否存在:
zkCli.sh -server h
我想在java应用程序中获取成员服务器列表及其类型(Leader或observer)。
还想得到死掉的服务器
他们有办法做到这一点吗?我阅读了文档,但没有找到。Zookeeper将此信息公开。也可以通过直接连接端口2181查询发送“stat”命令
有关如何从python执行此操作的示例,请参见:
如果有一个内置的答案,而不必求助于JMX,那就太好了。如果您位于zookeeper节点之一,则可以读取zoo.cfg文件以获取服务器列表(死服务器和活服务器),然后分别“统计”每个服务器,查看其是否处于
在使用solr cloud server添加文档时,我遇到zookeeper连接异常。
如何解决此问题?您确定已连接到ZooKeeper吗?
如果使用嵌入式ZK运行Solr,则ZK端口是Solr端口-1000,例如8983-1000=>7973
如果您确信使用了正确的连接详细信息,那么您可以在CloudSolrServer对象setZkConnectTimeout(int)中始终增加ZK连接超时-如果您使用的是Solrj客户端
这可能会解决问题,但您应该调查为什么会得到ZK超时。
在新的Solr
我下载了zookeeper-3.4.6.tar.gz,在执行zkServer.sh start时,我发现以下错误。我使用了google,但找不到解决方案,如果您看到类似问题,请告诉我
CLASSPATH=/home/spanda20/zookeeper/bin/。/src/java/lib/*.jar:/home/spanda20/zookeeper/bin/。/conf:
zkServer.sh:81:/home/spand20/zookeeper/bin/zkEnv.sh:语法错误:“(“
是否有人有将同一zookeeper群集用于多个工具的经验?e、 g.对Kafka和Hadoop使用相同的zookeeper集群
kafka自带了自己的zookeper启动脚本和配置,但我正在考虑将现有的zookeper集群用于多种工具
好主意?还是坏 是的。在大多数Hadoop集群中,这是一种常见的做法,可以使用一组zookeeper服务器来管理大多数(如果不是所有的话)服务
我不确定这是德鲁伊还是动物园管理员的问题
德鲁伊使用Zookeeper发现德鲁伊节点。在我的设置中,Druid节点是AWS自动缩放实例,并获取不通过DNS解析的主机名。所以当德鲁伊问ZK时,它会回来:
spanky-asg-druid-master-10-0-10-218.沙盒食物网:8081
有没有办法将ZK配置为返回IP而不是主机名,或者让Druid向ZK请求IP?如果在Druid进程的运行时属性中设置Druid.host=1.2.3.4(当然,使用正确的IP),那么它们将在ZK中使用IP而
我试图了解动物园管理员,它是如何工作的,它做什么的。是否有可与ZooKeeper相比的应用程序
若你们知道,那个么你们会如何向外行描述动物园管理员
我尝试过ApacheWiki、ZooKeeperSourceForge……但我仍然无法理解它
我只是通读,这样的服务不是更多了吗?它是否像复制服务器服务一样简单?简而言之,ZooKeeper帮助您构建分布式应用程序
工作原理
您可以将ZooKeeper描述为具有最终一致性的复制同步服务。它是健壮的,因为持久化数据分布在多个节点(这组节点称为“集成”)
我在我的web应用程序中使用ZooKeeper,发现了一个非常奇怪的问题:如果我将两个应用程序都使用ZooKeeper部署到同一个tomcat,那么当tomcat启动时,一个应用程序中的ZooKeeper将莫名其妙地断开连接
以下是我的代码,非常简单:
public class ZKTester implements InitializingBean, Watcher {
private ZooKeeper hZooKeeper;
public void afterPrope
我已经在Linux服务器Ubuntu12.04上的一些文件夹中安装了zookeeper,比如abc/zookeeper/zkserver/bin/zkserver.sh start。这可以正常工作,并按预期启动服务器,但当我将这个zkserver.sh文件放在/etc/init.d文件夹中,并将该文件复制到rc2.d文件夹中,以便在系统重新启动时启动zookeeper时。当我运行这个命令/etc/init.d/zkserver.sh start时,会出现如下错误:
默认情况下启用JMX
使用co
问候,
我已经设置了一个mesos主节点(在一个vm上)和一个从节点(在另一个vm上)。
应用命令:MASTER=$(mesos resolvecat/etc/mesos/zk)
它贯穿始终,我得到以下消息:
I1229 12:05:31.943322 1524 group.cpp:331] Group process (group(1)@10.155.208.82:42540) connected to ZooKeeper
I1229 12:05:31.943480 1524 group.
是否有一本现代分布式系统的书解释了zookeeper、Concur、etcd、mesos等工具背后的算法
我不是在寻找这些特定工具的描述。显然,所有这些都是为了解决构建分布式系统的问题而构建的:部署、监视、状态管理、锁定、维护计数器、一致性权衡等等
与其阅读大量关于CAP定理的博客文章,或扫描堆栈溢出以了解RAFT vs paxos,或观看youtube上关于配置/监控/部署上百台机器上数千个进程的演示,我想要一本奠定基础的书
我确实看到有一些关于分布式计算的教科书,但大多数似乎是几十年前写的。
我正在尝试使用3服务器在复制节点中设置zookeeper
我的配置文件如下
tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
我得到了以下例外
QuorumPeer:/0:0:0:0:0:0:0:0:2181:FastLeaderEle
我是Zookeeper的新手,安装并运行它是一个真正的问题。我不确定这里出了什么问题,但我将解释我正在做什么,以使其更清楚:
1.-我遵循了Apache提供的安装指南。这意味着下载Zookeeper发行版(稳定版)提取文件并移动到主目录
2.-当我使用Ubuntu 12.04时,我修改了.bashrc文件,包括:
export ZOOKEEPER_INSTALL=/home/myusername/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_INSTA
如果我使用Zookeeper进行外部应用程序配置,在应用程序启动之前,第一次在Zookeeper中加载数据的正确方法是什么?在启动需要此数据的应用程序之前,将其与将初始静态数据加载到数据库(例如国家列表)进行比较。对于数据库,有无数的方法和工具可以做到这一点-slq插入脚本、mongodbimport、liquibase。。。Zookeeper不是一个数据库,但应该有一种方法可以将一些数据放入其中,而无需使用zkCli编写每个步骤的脚本。可以更具体一些吗?您的意思是您想在另一个应用程序启动时使用
自从我们使用SASL身份验证迁移到zookeeper-3.5.7之后,我们在zookeeper日志中看到了以下异常
2020-08-19 06:12:13,921 - ERROR [QuorumConnectionThread-[myid=3]-91:QuorumCnxManager@480] - Exception handling connection, addr: /10.57.16.138:xxxx, closing server connection
正在使用的zoo.cfg如下所示
我正在使用Zookeeper 3.4.6进行一个项目,正在执行一些故障模式测试。在这样做的过程中,我发现了(我认为是)意想不到的行为
如果领导者Zookeeper进程被终止,追随者是否应该重新启动
环境:
OS: Windows Server 2008 R2 (hosted in a Tanuki Java service wrapper)
Zookeeper: 3.4.6
Java JDK: 1.7.0.210
测试:
OS: Windows Server 20
我有一个设置,我使用3个mesos masters和3个mesos Slave。在完成所有必需的配置后,我可以看到3个mesos主机是由动物园管理员维护的集群的一部分
现在,我已经设置了3个mesos从站,当我启动mesos从站服务时,我希望mesos从站将可用于mesos masters web UI页面。但我在“奴隶”选项卡上看不到任何一个
selinux、防火墙、iptalbes都已禁用。能够在节点之间执行ssh
[cloud-user@slave1 ~]$ sudo systemctl
我在启动zookeeper时遇到了这个问题。
zoo.cfg文件是
# The number of milliseconds of each tick
tickTime=2000
dataDir=/Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/zookeeperdata/1
clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:2888:3888
server.2=lo
我是Zookeeper的新手,试图了解它是否适合我的用例
我有1000万层次数据,我想存储在Zookeeper中
10M键-值对,每个键和值的大小为1KB
因此,在不进行复制的情况下,总数据大小约为20GB(10M*2KB)
我知道zNodes的数据大小限制是1MB(可以更改)
问题:
zookeeper将能够支持20GB的数据,而不会影响性能
是否存在性能下降的最大尺寸
节点总数是否有限制
Zookeeper将无法适用于此用例。Zookeeper会定期转储/快照数据树,这意味着每隔几分钟就会转
这个问题是关于
观察家是只听音乐的合唱团中没有投票权的成员
投票结果,而不是导致投票结果的协议协议。
除了这个简单的区别之外,观察者的功能完全相同
与Followers相同-客户端可以连接到Followers并发送read和and
给他们写请求。观察员将这些请求转发给领导人
和追随者一样,他们只是等着听调查结果
选票因此,我们可以尽可能增加观察员人数
如我们所愿,但不损害投票的表现
观察员还有其他优势。因为他们不投票,所以他们是
不是动物园管理员的重要组成部分。因此他们可以
故障,或断开与群集的
我有一个JavaSpring应用程序,它根据创建拓扑结构的DTO向storm(1.1.2)nimbus提交拓扑
这是伟大的工作,除了非常大的窗口。我正在用几个不同的滑动和翻滚窗口测试它。除了每15分钟前进一次的24小时滑动窗口外,没有人给我任何问题。该拓扑将从Kafka接收约250条消息/秒,并使用一个简单的时间戳提取器(与我正在测试的所有其他拓扑非常相似)将它们窗口化
为了解决这个问题,我使用了大量的工作线程和内存空间,但我的默认配置是1个工作线程,堆大小为2048mb。我也尝试过减少延迟,但
我们正在尝试使用6节点(2个数据中心中的3+3节点)建立ZK集群。我们的服务器/虚拟机在两个数据中心成对配置,两个DC之间的延迟小于2-3毫秒,因此我们认为理想的做法是使用所有6台服务器,使用分层配额,而不是典型的5节点设置。此外,扩展集群(2个数据中心中的3+2个节点)可能无法容忍第二个数据中心故障
我们使用了本文中描述的参考体系结构
我们当前的设置如下(服务器1a、2a和3a位于数据中心a::服务器1b、2b和3b位于数据中心b)
服务器
服务器。1=1a:2888:3888
服务器。2=
我是Zookeeper的新手。正在尝试为Zookeeper参展商设置群集服务器以修改数据。我尝试了3个节点的服务器设置,但数据修改并没有反映在所有zookeeper上
我参考了下面的url,并以同样的方式设置了服务器。但是没有用,我在配置中缺少一些东西来正确运行它
参展商启动命令为:
java-jar exhibitor-war-1.0-jar-with-dependencies.jar-c文件--nodemodification true--port 9090
此外,我还需要添加任何其他配置
工作怎么样?他们会用zookeeper吗?把ACK保存在znode里?
我正在尝试使用zookeeper构建一个分布式系统,我需要获得集群中各种机器的确认,200k ack/sec
有可能用zookeeper来做这件事吗 Storm不使用zookeeper确认元组,也不向nimbus发送确认。它们被直接送到喷口
从页面:
Storm拓扑具有一组跟踪DAG的特殊“acker”任务
每个喷口元组的元组数。当一个阿克看到一个DAG
完成后,它将向创建喷口的喷口任务发送一条消息
用于确认消息的元组
您需
我正在尝试手动启动zookeeper。我跑
# source zkServer.sh start
它输出:
JMX enabled by default
Using config: /opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
java 15360 root 467u IPv6
我正在使用zookeeper编写一个领导人选举算法。我能够写领导人选举部分。但是我需要一条路径中的所有节点来接收节点添加/删除到该特定路径的事件
例如,假设我在/election中有几个节点。当某个其他节点被添加到同一路径或从该路径中删除时,我需要向该路径中的所有现有节点接收此事件。我可以观察单个节点。但是如何监视路径中的所有节点
此外,我还需要接收所有节点的leader changed事件。有没有办法做到这一点?使用Apache Curator API(正如评论所建议的——我也同意已经实现了—
在zookeeper数据目录中,有两个文件名为acceptedEpoch和currentEpoch。有人能解释一下这两个文件包含哪些信息吗?这两个文件反映了给定服务器进程所看到和参与的历元数
如果是独立实例(没有对等实例),ZK是否需要在成功写入之后、数据读回之前进行某种延迟
我有一个测试,我使用1000个对服务的rest调用创建了1000条记录,然后尝试将它们一起读取。它在大多数情况下都是有效的,但我似乎偶尔会遇到一个问题,在这个问题上,我似乎只得到了部分结果(比如995条记录)
我的理解是,只有在多个对等点的情况下,为了保持一致性才需要sync();不是这样吗?是否存在超出此范围的特定延迟,如果是,是否有上限
注意:由于我使用rest调用,可能ZK客户端是不同的实例;这就是问题所
以下是我的架构
2 Servers:
Server 1: running Apache Nifi + Zookeeper (Not embedded)
Server 2: running Apache Nifi + Zookeeper (Not embedded)
为了测试故障切换,我关闭了被选为集群协调器的服务器
在这种情况下,zookeeper应该自动选择剩下的一个服务器作为领导者。但它不断失败,并进入尝试连接到第一台服务器的连续循环
领队(服务器1)停机时Zookeeper登录服务器2:
我正在运行ZooKeeper的3个实例,配置如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper1
clientPort=2181
maxClientCnxns=1000
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
我正在使用此处给出的领导人选举示例代码:
TestingServer的代
我有一个问题-是否可以按照中所述的类似方式配置SSL:
但是使用Netflix Exhibitor()
任何建议都受到高度评价
尽管我们有一个名为“我的节点”的znode
我要创建此结构:/my node/node-level-1/node-level-2..
create命令将抛出错误,因为缺少节点级别1的节点
如何使用一个命令自动创建所有缺失的节点,就像我们使用mkdir-p
文档中没有提到这一点。这不可能吗?这能回答你的问题吗?这回答了你的问题吗?
我正在尝试一个简单的zookeeper示例,用于Leader选举,但我总是遇到错误,服务器无法启动。这是我的代码:
public LeaderElection() throws IOException, InterruptedException, KeeperException {
setZk(new ZooKeeper("localhost", TIMEOUT, this));
/* This call gives the problem */
Stat s = ge
在某些情况下,您希望以高可用性运行一组微服务,但只希望其中一个执行特定操作(从队列消费、轮询数据库)
与此用例相关的最佳实践是什么?是应该使用Zookeeper作为注册中心,还是有其他合适的技术?有几种用于服务注册和发现的技术。请查看以下文章是否有帮助:
我们可能会和领事一起去
我有一个api服务器集群,我想使用zookeeper实现它们的自动故障切换,有没有示例代码?
我想知道,在api服务器连接并将自己注册到zookeeper之后,谁需要(或谁负责)监控他们的连接状态,zookeeper还是api服务器?
什么场景被称为fail-then to start故障转移过程 你看过馆长吗?馆长是一个建立在Zookeeper基础上的图书馆,它涵盖了Zookeeper最常见的用例。你看过馆长吗?馆长是一个建立在Zookeeper基础上的图书馆,它涵盖了Zookeeper最常见
我的项目依赖于Apache策展人。我启动zk和project,然后杀死zk服务器,Apache管理员是否尝试重新连接,直到zk重新启动?是。Apache Curator将根据需要继续在后台尝试连接。策展人完全为您管理动物园管理员连接(注:我是策展人的主要作者)
Zookper文档的内容如下:
ZooKeeper也有短暂节点的概念。只要创建znode的会话处于活动状态,这些znode就会存在。会话结束时,znode将被删除。当您想要实现[tbd]时,临时节点非常有用
我了解功能,但特定于会话的znode的用途或用例是什么?短暂的znode是一个节点,当其所有者的会话结束时,该节点将消失。临时节点的一个典型用例是使用ZooKeeper发现分布式系统中的主机(服务发现)。然后,每个服务器都可以在临时节点中发布其IP地址,如果服务器与ZooKeeper失去连接
我试图在zookeeper的应用程序中使用分布式状态,就像,只有一个区别。我的应用程序可以与一个zookeeper一起工作,但我需要多个zookeeper地址。以下是我的配置:
import jpapersistsm.enums.Events;
import jpapersistsm.enums.States;
import lombok.extern.slf4j.Slf4j;
import org.apache.curator.framework.CuratorFramework;
impor
我无法在独立模式下启动Zookeeper服务器。获取以下错误:
C:\Users\user\AppData\Local\Programs\apache-zookeeper-3.5.6\bin>调用“-Dzookeeper.log.dir=C:\Users\user\AppData\Local\Programs\apache-zookeeper-3.5.6\bin..\lo
gs”“-Dzookeeper.root.logger=INFO,CONSOLE”“-Dzookeeper.log.file
我对solr cloud非常陌生,现在将solr cloud与外部zookeeper集成
我想在4台不同的服务器上运行4个solr内核,并由zookeeper管理
因此,我在4个不同的ip服务器上运行solr Core,使用不同的端口8983898489858986,并与zookeeper绑定。没关系
但当我创建一个核心的集合时
/opt/solr/bin/solr create -c articles -s 2 -rf 2
我犯了个错误。因为远程服务器。但是,当我在同一个ip中创建4个节点
1 2 3 4 5 6 ...
下一页 最后一页 共 14 页