Apache zookeeper Apache Zookeeper服务器失败
我收到以下错误消息 错误[main:ZooKeeperServerMain@66]-意外执行,异常退出。我试着在谷歌上查找,但找不到任何带有main@66.假设您控制了ZK,您应该调试它。这很简单,只需添加如下内容 -agentlib:jdwp=transport=dt_套接字,服务器=y,挂起=n,地址=5005 转到zookeeper/bin/zkServer.sh上的JVMSflag并重新启动它
我收到以下错误消息 错误[main:ZooKeeperServerMain@66]-意外执行,异常退出。我试着在谷歌上查找,但找不到任何带有main@66.假设您控制了ZK,您应该调试它。这很简单,只需添加如下内容 -agentlib:jdwp=transport=dt_套接字,服务器=y,挂起=n,地址=5005 转到zookeeper/bin/zkServer.sh上的JVMSflag并重新启动它
我按照下面的教程设置了nificluster。执行上述所有操作,但收到以下错误 https://pierrevillard.com/2016/08/13/apache-nifi-1-0-0-cluster-setup/ 但是动物园管理员无法选出一位领导人,并收到以下错误消息 2018-04-20 09:27:40,942 INFO [main] org.wali.MinimalLockingWriteAheadLog Successfully recovered 0 records in 3
我们正在使用卡夫卡2.10和zookeeper 3.4。 根据有关的信息,我试图查找组id、主题分区的偏移量,但发现偏移量为空: ls/consumers/test6/offset/ViewerLogs/0--->返回[] 有没有关于如何获取该值的建议 谢谢请查看此文档: 因此,偏移量将存储在Zookeeper中: /[clusterBasePath]/consumers/[groupId]/offset/[topic]/[partitionId]>long(offset) 如果znode为空
我有一个Zookeeper集合,我想从3.3.X升级到3.4.X分支。这可以在实时集群上完成吗?需要停机吗?这上面有什么说明吗?根据我的检查 升级ZooKeeper的选项/流程是什么 有两种主要的方法可以做到这一点;1) 完全重启或2)滚动重启。 在完全重新启动的情况下,您可以准备更新的代码/配置等,停止集合中的所有服务器,切换代码/配置,然后重新启动ZooKeeper集合。如果以编程方式(通常是脚本,即不是手动)执行此操作,则可以在几秒钟内重新启动。因此,客户端在此期间将失去与ZooKeepe
刚开始阅读Zookeeper的文档。阅读zk有服务器(追随者+领导者)和客户端。zk的客户到底是谁?它协调的分布式系统的节点? 也读到 ZooKeeper应用程序在数千台机器上运行,在读操作比写操作更常见的情况下,它的性能最好,比率约为10:1 这是否意味着znode有数千个?我们希望在zk上读写什么 zk的客户到底是谁 客户端是使用ZooKeeper客户端API连接到ZooKeeper集成的任何进程。Apache ZooKeeper附带了和的API绑定。和中提供了有关Java API的更多信息
我正在尝试使用SpringCloudConfig和zookeeper进行配置管理 我的build.gradle看起来像: dependencies { compile('org.springframework.boot:spring-boot-starter-actuator') compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.cloud:sp
我在由5个节点组成的EC2集群中使用giraph-1.3.0.-SNAPSHOT和hadoop-2.8.4(每个节点都有32个CPU和60 GBs ram) 如果我对在giraph中实现的算法进行少量输入,它就会正常工作。当我给出一个大的输入(比如)时,我得到了这个警告,过了一段时间我的giraph运行失败了 WARN server.NIOServerCnxn: caught end of stream exception EndOfStreamException: Unable to read
想知道zookeeper或curator是否有任何api可以返回它所连接的主机。这主要用于调试连接丢失或会话过期的情况,我们将知道哪个主机出现了问题。我看到CuratorZookeeperClient有一个方法getConnectionString,但它似乎只是返回集合中的所有主机 ZooKeeper对象具有受保护的方法testableRemoteSocketAddress。不过,它只用于测试。您可以创建一个子类,该子类添加一个方法来返回值。同样,仅用于测试
使用ZooKeeper时,是否可以监视后代znode上的所有事件 例如,如果我有: (/) / \ (/a) (/b) / \ (/c) (/d) 有没有办法监视根目录对/a、/b、/c和/d的更改?没有ZooKeeper api可以做到这一点,您必须自己编写 如果您正在使用,则可以使用维护节点上的监视以及该节点的子节点。当您发现正在监视的根的后代时,可以编写一些代码来创建更多的PathCache 如果你打算推出你自己的版本,这实际上
我正在部署一个zookeeper集群,它有3个节点。我使用它来保持mesos master的高可用性。我下载zookeeper-3.4.6.tar.gz tarball并将其解压缩到/opt,将其重命名为/opt/zookeper,进入目录,编辑conf/zoo.cfg(粘贴在下面),在dataDir中创建一个myid文件(设置为/var/lib/zookeper in zoo.cfg),然后使用/bin/zkServer.sh start启动zookeeper,一切正常。我一个接一个地启动所有
是否可以将数据写入多个zookeeper节点?可能通过使用任何一种食谱?无法真正看到任何API,但我认为在这里询问它不是一个坏主意。ZooKeeper有“事务”方法,可以执行多个原子写入(1)。策展人通过其DSL公开了这些方法(2)。注:策展人DSL在版本3.0.x(3)中得到了改进
我有3台phoenix查询服务器运行在knox网关后面(隐藏kerberos身份验证复杂性),通过Simba的odbc驱动程序访问。我通过在拓扑文件中直接将avatica服务映射到我的内部网络中一台phoenix查询服务器的内部ip地址和端口,设法访问一台phoenix查询服务器并通过knox启动查询。 我想让knox随机访问我的3台phoenix查询服务器中的任意一台,而不仅仅是一台。你知道我是否可以通过zookeeper实现这一点,以及如何配置它来实现这一点吗 我已经尝试在nginx反向代理
我正在尝试以分布式模式安装zookeeper和HBase,但当我启动zookeeper仲裁的最后一个节点时,我收到异常: 2013-09-05 12:02:09,230 - ERROR [main:QuorumPeer@171] - Setting LearnerType to PARTICIPANT but 4 not in QuorumPeers. 2013-09-05 12:02:09,246 - INFO [main:QuorumPeer@444] - acceptedEpoch
我使用的是高级消费者,如所述: 我注意到我的消费者不会永远运行,而是在一段时间后结束。在zookeeper方面,我看到以下内容: 会话ID:0x144a4854325004d的信息处理会话终止 (org.apache.zookeeper.server.prerequestprocessor) INFO已关闭客户端/127.0.0.1:59899的套接字连接,其中 sessionid 0x144a4854325004d(org.apache.zookeeper.server.NIOServerCn
我希望使用基于attributes/default.rb文件中声明的主机数的模板将“server.x=hostname:Quorom\u Port:Election\u Port”值写入zoo.cfg default['zookeeper']['servers'] = ["hostname1", "hostname2", "hostname3"] default['zookeeper']['follower_port'] = 2888 default['zookeeper']['election
我们的项目严重依赖分布式锁。我知道馆长提供了几种锁。我的问题是,我可以将创建节点用作互斥对象吗 CuratorFramework zkClient = zookeeperConnectionProvider.getZkClientForJobDistributeLock(); try { zkClient.create() .creatingParentsIfNeeded()
用例: 仅当父对象的某些stat值与我们的条件匹配时,才获取父对象的子对象 示例: parentnode of P: c1 (stat.datalength 100) c2 (stat.datalength 3340) c3 (stat.datalength 2561) c4 (stat.datalength 1000) c5 (stat.datalength 456) 仅获取datalength>1024的子级 结果应仅返回c2和c3 文档中没有提到这一点: 编辑:获
我对zookeeper还不熟悉,尝试使用这里实现的一些zookeeper食谱:。这样我就不用自己建造了 似乎它们不是作为maven central等zookeeper库的一部分分发的。zookeeper社区的惯例是什么?我是不是应该从源头上挖出来,自己建造呢?或者是我遗漏了什么,而它们可以通过中央回购随时消费 谢谢你没有直接回答你的问题,但是 也许你会发现馆长()很有用?到目前为止,我们确实做到了。它实现了许多基本的ZooKeeper配方,并作为独立的maven依赖项捆绑在一起
我有一台服务器,现在我想复制它并获得更高的可用性。我的软件堆栈中的一个元素是Zookeeper,因此在它上使用集群配置似乎很自然 但是,我的单台服务器上有数据,我找不到任何关于集群设置的指南。我尝试设置两个独立的实例,然后转到集群配置,但只保留了所选主机上的数据 那么,我如何才能安全地从单服务器设置转到群集设置而不丢失数据呢?如果从1台服务器直接转到3台服务器,可能会丢失数据,因为2台新服务器足以构成仲裁,并选择其中一台作为领导者,而忽略旧服务器,并丢失该计算机上的所有数据 如果将集群从1扩展到
一种新的趋势是,将全局状态从传统的“静态”配置管理工具(如Chef/Puppet/Ansible)中剥离出来,转而将配置存储在一些集中/分布式工具中,其中的主要参与者似乎是: 动物园管理员(阿帕奇) 领事(Hashicorp) 尤里卡(Netflix) 这些工具的工作原理各不相同,但原理相同: 将您的环境变量和其他动态配置(即可能更改的内容)作为键/值对存储在这些工具中 在启动时通过客户端连接到这些工具/服务,并下拉配置对。这通常要求客户端提供服务名称(“myu-APP”)和环境(“DEV
我目前正在尝试在两节点集群中使用zookeeper。我在基于配置的节点上运行自己的集群形成算法。我们只需要Zookeeper的分布式数据库功能 可以在两节点集群中使用Zookeeper吗?你知道有什么解决方案是这样做的吗 我们还可以保留zookeepers数据库功能而不形成仲裁吗 注:容错性不是本项目的主要关注点。如果其中一个节点发生故障,我们有足够的代码逻辑在没有zookeeper服务的情况下运行。当两个节点都处于活动状态时,我们使用zookeeper共享数据 非常感谢您的帮助。Zookeep
我想澄清一下Zookeeper中关于超时和心跳的几个概念 从LEADER发送PING消息之间的超时是多少 跟随?它等于时间的一半吗 什么是客户端的重新连接超时?它是平等的吗 到(会话过期时间/zookeeper服务器总数) 跟随者如何确定当前引导者是否向下?是 它是通过心跳终止的吗?从测试来看,它看起来像是尽快 当领导者倒下时,每个追随者都会被 无法读取整数(消息长度)
我有很多服务连接到zookeeper,我希望服务A可以获得服务B的IP,当服务B连接到zookeeper时,有任何API可以做到这一点吗?或者我必须使用其他配置文件来记录所有服务的IP?看看这是否解决了您的问题: Zookeeper不提供开箱即用的服务发现,但它很容易自己实现 您将无法直接从Zookeeper API获取其他已连接客户端(在您的情况下是服务)的IP地址。为了让其他服务连接到集群,每个服务必须在特定路径下单独创建一个临时znode,例如/services,并将必要的寻址和命名信息
在zookeeper文档中,它说,当“领导人选举”发生时,每个znode都会创建一个子znode“/Election/n_”。 为什么我在zookeeper中看不到目录“/election” 此“领导人选举”的含义是,您的应用程序使用ZK进行自己的领导人选举。这不是ZK自己做的领导人选举。它们是完全不同的两件事
在执行ZOOKEEPER冒烟测试时,我使用ambari安装/部署我的5节点群集时,在检查ZOOKEEPER步骤时出错 当我继续时,它显示许多服务尚未启动。虽然当我手动启动它们时,所有的服务都启动了。 该问题仅发生一次,即仅在安装/部署群集期间发生第一次 注意:-我使用的是zookeeper 3.4.14版本 这是我的简要报告 下面是标准概要 traceback (most recent call last): File "/usr/lib/ambari-agent/lib/reso
我是一个动物园管理员新手。我在三个独立的数据中心中有三个节点。我需要从python pykeeper API读取和写入数据?所以 1) 我从哪个节点读写?这有关系吗?循环赛?写给主人,读给奴隶 2) 我怎么知道哪个服务器被选为主服务器?我在乎吗?我还没有弄明白 3) 目前,我正在使用以下连接到zookeeper import zc.zk from random import choice zk_servers = ['111.111.111.111:2181','111.111.111.222:
在开发阶段使用zookeeper大约6个月后,虽然它工作得很好,但其数据目录的大小增长到了6gig!而且还在增加。以下列出了一些系统规范: zookeeper版本:3.4.6 客户数量:
从Storm的描述来看,它是基于Zookeeper的,只要工作节点死亡,就可以恢复它并从Zookeeper获取其状态 有人知道这是怎么做到的吗?具体地 如何恢复发生故障的工作节点 动物园管理员如何保持它的状态。另外,每个区域只能存储少量数据 你说的是工人还是主管?每个storm worker节点运行一个storm“supervisor”守护程序,该守护程序管理工作进程 您需要设置监视(如daemontools或supervisord,这与storm supervisors无关)来监视和重新启动n
Lock.release()是否不删除锁定路径?这是虫子吗? 我需要自己删除路径吗 RetryPolicy retryPolicy = new RetryOneTime(1000); CuratorFramework client = CuratorFrameworkFactory .builder() .connectString(zkAddress) .se
我正在使用SolrJ插入/查询solr数据[solr cloud 6.5-3机器]。前面我使用以下代码创建SolrClient- HttpSolrClient server; server = new HttpSolrClient.Builder("").build(); server.setSoTimeout(20000); server.setConnectionTimeout(20000); server.setDefaultMaxConnectionsPerHost(200); serv
我们可以使用节点的临时所有者属性来检查它是否是临时节点,但如何在zookeeper中检查节点是否是容器节点
我使用了以下命令: ./solr -e cloud -z localhost:2181 -noprompt 最后的信息如下: { "responseHeader":{ "status":0, "QTime":1616}, "failure":{ "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error CREATEing SolrCore 'gettingstar
我想从一个应用程序管理所选linux服务器的配置。 有zookeeper,但它会更改所有服务器的配置 是否有一种解决方案可以指定一组服务器来编辑配置?利用盐粒在您想要管理的主机上添加一个类似“zookeeper”的角色。然后,当您需要更新配置时,可以将目标设置为“salt-G”角色:zookeeper'state.sls some.config” 或者,如果您无法匹配,您也可以将部分主机名作为目标,或者如果您将应用程序名设置为粒度,则可以将其作为目标。谢谢,我已经在进行salt管理,但现在我希望
我正在使用ServiceDiscovery.registerService()向zookeeper服务器注册服务,我应该在注册服务后立即调用ServiceDiscovery的close()方法吗 在策展人的文档中,它建议重用ServiceProvider对象,我是否也应该重用ServiceDiscovery对象? 策展人版本是2.8.0,谢谢 (注:我是《策展人》的主要作者) 否注册后不应调用close()。关闭将在应用程序关闭时使用。它关闭所有缓存、注销服务等 每个应用程序只需要1个Servi
要将zookeeper从3.4.14升级到最新版本/3.5.6。我已经按照要求升级并下载了zookeeper。 但仍在重新启动服务器时,无法加载数据。 已尝试在配置中使用snapshot.trust.empty=true标志,但在这种情况下无法加载以前的数据。通过在zookeeper数据目录的版本目录中添加snapshot.0文件来工作
我是Zookeeper的新手,我仍然不确定Zookeeper是如何使用数据库的。在其文档中,它说“读取请求由每个服务器数据库的本地副本提供服务。”那么这是否意味着Zookeeper系统中的每个服务器也是一个数据库?或者有一个单独的数据库,zookeeper中的每台服务器复制数据库中的所有数据并存储在自己的数据库中(如果是真的,这是个疯狂的想法?)?或者zookeeper服务器中的数据库是根据客户端每次请求的数据建立的? 非常感谢您zookeeper群集中的每台服务器都保存着整个数据库的副本。在执
我有一些zookeeper集群正在运行,我的目标是将这些zk集群上的数据合并到一个zookeeper集群上 因此,将一个zk集群的整个数据和日志目录复制到另一个zk集群对我来说是不可能的。此外,我可能需要重新设置整个目录路径的基础,例如,我可能需要将zk cluster1上/service1的数据复制到zk Cluster2上的/c1/service1 目前,我正在通过编写一些zk客户机代码来读取zk集群1上包含数据和ACL信息的整个目录树,并将其写入zk集群2 然而,这种做法仍存在一些问题:
正如标题中提到的,你认为Zookeeper可以使用起搏器而不是Corosync吗?对此有什么检查吗 谢谢你的帮助 请将您的问题移至感谢您的提醒请将您的问题移至感谢您的提醒
我有点不确定在SolrCloud解决方案中使用ZooKeeper和Concur的区别。 我是否可以使用Concur进行配置管理和服务发现,而不是使用ZooKeeper。 我会同时使用动物园管理员和领事有什么原因吗?e、 g.配置管理的ZooKeeper和服务发现的领事 AFAICT,不,SolrCloud根本不支持领事。你能有两种不同的共识系统吗?当然可以,但是你需要处理每种故障模式,处理它们彼此不一致的情况,&c;我一点也不建议这样做。我的一位同事告诉我,如果没有动物园管理员,索尔克劳德就不能
Zookeeper有cons命令,该命令显示有关连接的有用信息。医生说: 3.3.0中新增的缺点:列出所有 连接到此服务器的客户端。包括有关 接收/发送的数据包、会话id、操作延迟、上次操作 表演等等。。。 如果有更多的信息就好了。例如,这是我运行echo cons | nc 127.0.0.1 2181 /172.16.52.126:55512[1](队列=0,接收=359029,发送=359032,sid=0x1784b3082ff049b,lop=PING,est=1616533378
我经历了完整的磁盘空间(100%)的问题,由于核心损坏。正如我在谷歌上搜索的那样,我已经从version-2和datalog/version-2中删除了所有快照 现在/var/zookeeper只有myid文件和\u备份文件夹 当我试图启动zookeeper时,我发现了以下错误 2016-06-12 12:43:36,512 [myid:4] - ERROR [main:FileTxnSnapLog@210] - Parent /search/cluster1/overseer/queue mi
我最近读到一篇文章,建议使用奇数个节点运行zookeeper。因此,在一个由3个节点组成的集群中,它最多可以容忍2次故障。但是,如果我启动一个3节点集群,只删除其中一个节点,那么它会在什么时候将它看作是一个2节点集群?或者在2节点集群中运行它是一种黑客行为?Zookeeper Atomic Broadcast(ZAB)负责选举领导者并恢复失败的领导者和节点 为了检测故障,Zab在追随者和领导者之间使用周期性心跳消息。如果一位领导人在给定的超时时间内没有收到法定人数追随者的心跳,他将放弃领导权,转
我读了很多关于动物园管理员的书,有一件事我还不明白,那就是命名惯例。我在文档中找不到任何关于它的信息,所有stackoverflow问题和其他资源都以不同的方式使用了仲裁的定义。所以我的问题是,法定人数到底是多少 要实现一个健康的集成,我们必须拥有多少服务器?这是:Q=2N+1,其中N是可以在不中断整个服务的情况下中断的节点数?(我们愿意支持的故障编号)。在这种情况下,集成的初始服务器总数就是我们所说的仲裁,因此如果我们想让系统最多支持2个故障节点,Q=2*2+1=5,那么仲裁等于服务器数量 仲
我在生产数据中心1安装了zookeeper服务器。当我在znode上执行get时,我得到以下结果: $ usr/lib/zookeeper/bin/zkCli.sh -server localhost:2181 Connecting to localhost:2181 log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper). log4j:WARN Please initialize t
使用zkCli.sh 创建-s/myznode“Hello World!”空 使用字符串“Hello World!”创建znode 如何让它使用文件的内容而不是字符串?如果查看ZooKeeperMain.java,您可以看到它在命令行上使用的唯一参数是要连接的服务器主机和端口 然后,如果您查看processZKCmd()方法,您会发现它只接受sequential和ephemeral的参数 但是,您可以向命令发送输入,例如。 ./zkCli.sh
我是否需要为我想在项目中实现的每个Recipe创建单独的Curator framework实例? 例如,我是否需要为LeaderElection创建单独的CuratorFramework实例,并为分布式锁/队列创建单独的CuratorFramework实例 问候 Sundar不,CuratorFramework实例是可重用的、线程安全的,等等。每个服务器连接创建一个CuratorFramework实例(就像每个服务器连接创建一个ZooKeeper实例一样),并将其用于您的所有食谱等(注意:我是A
我有一个设置,我们运行1个主服务器和3个区块服务器。如果我的一个区块服务器宕机,我的设置工作正常。我也希望我的主服务器具有相同的功能。我如何才能做到这一点 我的确切需求是:我将有2台主服务器,如果第2台服务器出现故障,则应使用主服务器您应该尝试LizardFS和它的MooseFS分支,并具有内置的主服务器兼容性 最简单的方法是将keepalived with virtual ip绑定到此虚拟ip主服务器,并在不同的机器上部署第二个主服务器,但在配置中,您需要将个性从主服务器设置为影子服务器。 当
我正在使用windows上的apache curator库使用CreateMode.Persistent创建节点。在完全重启集群之后,我注意到有时节点会出现。在其他时候,情况并非如此。Zookeeper是否保证创建的节点在重新启动期间保持不变?如果使用CreateMode.PERSISTENT创建节点,并且该方法成功返回,则可以保证节点的仲裁(n/2+1)已接收并保持该节点。重新启动群集不会影响这一点。如果您看到节点消失,那么可能a)您正在使用异步API创建节点,并且没有得到成功响应;b) 当您
如何从服务器崩溃后发生的以下错误中恢复? Zookeeper不会启动,下面的消息会在日志上重复显示 2017-05-27 01:02:08,072 [myid:] - INFO [main:Environment@100] - Server environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2017-05-27 01:02:08,072 [myid:] - INF
我发现我的动物园管理员dataDir很大。我想了解 数据目录中有什么? 如何清理?它会在一定时间后自动清理吗? 感谢根据: ZooKeeper数据目录包含文件,这些文件是由特定服务集合存储的zNode的永久副本。这些是快照和事务日志文件。在对znode进行更改时,这些更改会附加到事务日志中,有时,当日志变大时,所有znode当前状态的快照会写入文件系统。此快照将取代以前的所有日志 简而言之,对于第一个问题,您可以假设dataDir用于存储Zookeeper的状态 至于你的第二个问题,没有自动清理