问题标签 [apache-zookeeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5018 浏览

caching - 有人尝试过使用 ZooKeeper 吗?

我目前正在研究 memcached 作为协调一组服务器的方式,但在此过程中遇到了Apache 的 ZooKeeper。它看起来很有趣,雅虎使用它,所以应该不错,但我以前从未听说过它,所以我有点怀疑。有其他人尝试过吗?有什么意见或想法吗?

0 投票
4 回答
7451 浏览

autoconf - 如何将 autoconf/automake 指向非标准包

我正在尝试在 RedHat Linux 机器上构建 ZooKeeper。(ZooKeeper 到底是什么可能并不重要 :-)

当我按照包装说明进行操作时,我得到:

我无法在标准位置安装 CPPPUNIT。(没有root权限,系统团队有“不偏离标准配置”的政策。)

我已经通过在我的 configure.ac 文件中注释掉对 AM_PATH_CPPUNIT 的引用来解决这个问题,但我真正想做的是在我的个人目录中安装 CPPPUNIT 并指向它,但我没有赚太多在弄清楚如何告诉 autoconf/auotmake 系统在非标准位置查找它方面取得了进展。有人对如何做到这一点有任何提示吗?

0 投票
13 回答
61023 浏览

java - Zookeeper 的真实使用

我最近一直在看Zookeeper,想知道目前是否有人在使用它,以及他们专门使用它来存储什么。

最常见的用例是配置信息,但是你存储了什么样的数据和多少数据?

0 投票
1 回答
2636 浏览

osgi - Servicemix 4、DOSGi 和 Zookeeper

这是从fusesource 论坛servicemmix 论坛交叉发布的。

我无法让 DOSGi 在 FUSE 中工作。我正在尝试通过 Zookeeper 发现将 CXF 的 DOSGi 1.1-SNAPSHOT 放到 FUSE 4.1.0.2 上。我也在使用 Zookeepr 3.2.1。

一切都在 Felix 2.0.0 上完美运行。我只是按照DOSGi Discovery 页面上的说明安装Discovery Demo包。对于 DOSGi,我只使用cxf-dosgi-ri-singlebundle-distribution-1.1-SNAPSHOT.jar用于 DSW 和 cxf-dosgi-ri-discovery-singlebundle-distribution-1.1-SNAPSHOT.jar 用于 zookeeper 发现。然后,当我在一台机器上使用示例服务 impl 启动示例包时,我会在 zookeeper 中看到节点创建。然后我在另一台机器上启动示例客户端,并在服务机器上看到输出。效果很好。我确实有一个关于 xml 错误被忽略的警告,因为找不到一些 XSD,但它似乎没有任何影响。哦,我还必须先安装 OSGi 纲要包。

当我搬到 Fuse 时,我没有这样的运气。OSGi 纲要包附带了 fuse,因此无需安装它。我应该只能安装 dosgi-ri 单包和 dosgi-ri-discovery 单包,但这不起作用。dosgi-ri singlebundle 有各种与 servicemix 重叠的包。我收到有关端口 8081 的错误?或者无论 osgi.http.service 参数是什么,都已经在使用中。显然,dosgi-ri singlebundle 带有 pax webservice,它读取与 servicemix 附带的 servicemix http 服务包相同的属性。那是当我切换到 cxf-dosgi-ri-multibundle-distribution-1.1-SNAPSHOT.zip并解压缩以获取我想要的部分。我从 dosgi-ri multibundle 中取出 dsw 包并安装它。由于 jdom 依赖性,没有运气。然后我安装了 ri multibundle 中的 jdom,它工作正常。然后回到dsw,安装,所以我想我到了某个地方。是时候回去安装 ri-discovery 单包了。当我开始时,我得到一个 pax 日志服务 classcastexception 说它不能转换为 osgi logservice 或其他东西。但这只是一个日志记录错误,在底部它说它找不到http://schemas.xmlsoap.org/soap/http的传输类. 好的,所以日志记录被搞砸了,我错过了一些运输类。好吧,很明显,这是由于 ri multibundle 没有安装足够的东西,因为它在 felix 上工作。所以里面还有什么是必要的。检查时的 cxf-minimal-bundle 缺少导致最后一个错误的类。所以我安装它。尝试启动发现包,但我最终遇到了某种 corbabroker 异常。重量级 谁在这一切中使用了 corba?然后我返回并撤消所有这些并尝试坚持使用 ri 和 ri-discovery 的单包发行版,但只需关闭 servicemix http 服务。这会使 servicemix 崩溃,我无法重新启动它,因为 cxf jbi 组件最终会产生不满意的依赖关系。奇怪的。我会忽略这一点,因为无论如何我都不使用它们,并尝试开始我的示例。能' t 启动示例,因为它说码头无法启动,因为端口已在使用中。没有意义,因为我已经关闭了 servicemix http 服务。然后我重新启动码头。作品?也许。我的服务已注册,我可以使用 firefox 浏览到 wsdl,但在 zookeeper 中没有注册。尝试关闭 ri-discovery 包并重新启动它,但我得到一个空指针异常。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。没有意义,因为我已经关闭了 servicemix http 服务。然后我重新启动码头。作品?也许。我的服务已注册,我可以使用 firefox 浏览到 wsdl,但在 zookeeper 中没有注册。尝试关闭 ri-discovery 包并重新启动它,但我得到一个空指针异常。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。没有意义,因为我已经关闭了 servicemix http 服务。然后我重新启动码头。作品?也许。我的服务已注册,我可以使用 firefox 浏览到 wsdl,但在 zookeeper 中没有注册。尝试关闭 ri-discovery 包并重新启动它,但我得到一个空指针异常。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。

故事的结局。无法让它工作。其他人可以让它工作吗?我只想在 SMX4 中运行发现示例。我很确定这只是一个捆绑冲突问题。这不是 OSGi 应该解决的问题吗???这比告诉我你依赖什么 jar 并让我设置我的类路径更糟糕。至少那时我最终会让事情运行起来。

我认为,我接下来的步骤将是再次尝试使用 ri-multibundle、dsw 和 jdom,以及 ri-discovery singlebundle。然后我会尝试一些 cxf-fuse 包或一些 cxf-rt 包来解决肥皂传输问题。

编辑说明:我需要的不仅仅是显示处于活动状态的 DOSGi 包。在您尝试通过它们公开服务之前,它们实际上并没有做太多事情。我确实需要看到多台机器向 zookeeper 实例注册服务以及其他使用这些服务的机器——就像正在运行的 DOSGi Discovery Sample 一样。

通过使用提到的最小 cxf 捆绑包,我已经能够让 cxf 将分布式服务示例公开为肥皂网络服务,方法是删除部分原始 cxf 捆绑包并重新启动码头服务,然后启动示例服务......或通过安装 cxf 最小捆绑包,然后启动我的服务,然后立即卸载 cxf 最小捆绑包,然后重新启动码头......我认为这是顺序。这些都不会从干净的启动中工作,并且必须重新启动服务作为使 DOSGi 工作的过程是很糟糕的。我什至不知道为什么安装然后卸载会做任何事情——它不应该留下任何工件。

0 投票
1 回答
1005 浏览

java - 分布式系统中的消息传递和信令

我有一个分布式视频分析系统,它由以下部分组成:

我的问题是:如何进行特征提取块和多个检测器之间的通信,最好是实时的?我一直在研究事件总线,但它只针对一个进程,Hadoop 中的 ZooKeeper 会是更好的解决方案吗?

我正在使用 Java。欢迎任何建议。

0 投票
2 回答
7600 浏览

java - Zookeeper/Chubby -vs- MySql NDB

我最近一直在阅读 Paxos 论文、FLP 定理等,并为一个项目评估 Apache Zookeeper。我也一直在浏览 Chubby(谷歌的分布式锁定服务)和各种在线可用的文献。我对 Zookeeper 的基本用例是为分布式系统实现复制和一般协调。

不过我只是想知道,Zookeeper 或 Chubby 之类的分布式锁定系统带来的具体优势是什么。基本上我只是想知道为什么我不能只使用 MySQL NDB Cluster。我一直听说 MySQL 有很多复制问题。我希望一些对这个主题有更多经验的人可能会对此有所了解。

提前致谢..

我的要求的简单清单:

  • 我有一个同构分布式系统。
  • 我需要一些方法来在我的所有节点上保持一致的状态。
  • 我的系统公开了一项服务,与客户端的交互将导致我系统的集体状态发生一些变化。
  • 高可用性是一个目标,因此节点宕机不得影响服务。
  • 我希望系统至少能以 1000 个请求/秒的速度提供服务。
  • 我希望系统的集体状态在大小上是有限的(基本上插入/删除将是暂时的......但在稳定状态下,我希望有很多更新和读取)
0 投票
1 回答
606 浏览

locking - zookeeper - 锁定多者之一

我有一组资源,每个资源都有一个唯一的标识符,并且每个资源元素在使用之前都必须锁定,之后再解锁。应用程序的逻辑是:

Zookeeper 看起来是管理这些锁的好人选,它快速且有弹性,而且从客户端故障中恢复似乎很简单。

谁能想到我如何使用 Zookeeper 来实现这一点?

0 投票
2 回答
7397 浏览

locking - ZooKeeper and RabbitMQ/Qpid together - overkill or a good combination?

Greetings,

I'm evaluating some components for a multi-data center distributed system. We're going to be using message queues (via either RabbitMQ or Qpid) so agents can make asynchronous requests to other agents without worrying about addressing, routing, load balancing or retransmission.

In many cases, the agents will be interacting with components that were not designed for highly concurrent access, so locking and cross-agent coordination will be needed to avoid race conditions. Also, we'd like the system to automatically respond to agent or data center failures.

With the above use cases in mind, ZooKeeper seemed like it might be a good fit. But I'm wondering if trying to use both ZK and message queuing is overkill. It seems like what Zookeeper does could be accomplished by my own cluster manager using AMQP messaging, but that would be hard to get really right. On the other hand, I've seen some examples where ZooKeeper was used to implement message queuing, but I think RabbitMQ/Qpid are a more natural fit for that.

Has anyone out there used a combination like this?

Thanks in advance,

-Chris

0 投票
14 回答
85441 浏览

java - 分布式序列号生成?

过去,我通常使用数据库序列实现序列号生成。

例如使用 Postgres SERIAL 类型http://www.neilconway.org/docs/sequences/

我很好奇如何为没有数据库的大型分布式系统生成序列号。是否有人对以线程安全的方式为多个客户端实现序列号生成的最佳实践有任何经验或建议?

0 投票
3 回答
10227 浏览

python - 我可以在 Zookeeper 中递归创建路径吗?

我将ZooKeeper拉到一个项目中进行一些并发管理,我尝试的第一件事对我来说是非常明显的(使用 zkpython 绑定):

我拿回了NoNodeException我的麻烦。

在对此进行了反思并查看了文档(例如它们)之后,我一直无法找到一种方法来做相当于mkdir -pZooKeeper 将为我创建缺少的父节点的地方。

我是否遗漏了任何东西,或者我只是坚持为路径的每个部分发出单独的 create()s,无论我喜欢与否?