问题标签 [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 投票
1 回答
577 浏览

mysql - 生成 int32 和 int64 大小的唯一主 ID

我正在使用 Java 和分布式 noSQL DB(Cassandra) 开发一个社交网络应用程序。 我需要为应用程序上的新用户和帖子分别生成 32 位和 64 位大小的 ID。

由于构建在分布式平台之上,我们生成 ids/keys 的问题变得有些复杂。尽管已经出现了诸如 Zookeeper/ 或 twitter 的雪花之类的解决方案,它们一直在努力减轻这种痛苦,但这些解决方案似乎并不容易使用。

从顶层的角度看这些解决方案后,我觉得是最简单、最成熟的解决方案。像 flickr 的票务服务器那样使用 MySQL 数据库是我的首选,因为它似乎是最简单的解决方案

http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

我知道这将围绕分布式系统创建 SPOF.. 但我仍然相信这将是我早期最简单的解决方案(当我在资本和人力方面的资源较少时)。当我的应用程序增长时,我相信切换不会很困难,因为它们不需要传输大量数据。所以对于我的应用程序的婴儿期,我猜 MySQL 可以以最好和最简单的方式为我服务来生成 Id。

这种选择的主要因素:-

我正在考虑最初使用单个 MySQL 服务器,然后切换到类似两个服务器作为 flickr 的解决方案,以删除 SPOF。

当我考虑切换到 Zookeeper 或雪花等替代解决方案时,有人能指出以后可能会出现什么问题吗?或者当前提议的方法可能有哪些缺点?

非常感谢您的时间!

0 投票
3 回答
4590 浏览

distributed-computing - 如何使用 ZooKeeper 设计任务分发

我打算编写一个具有分布式工作进程的应用程序。其中之一将是领导者,它将任务分配给其他进程。设计领导者选举过程非常简单:每个过程都尝试在同一路径中创建一个临时节点。谁成功,谁就成为领导者。

现在,我的问题是如何设计平均分配任务的过程?有什么食谱吗?

我将详细说明环境设置:

假设有 10 台 worker 机器,每台运行一个进程,其中一台成为 leader。任务在队列中提交,Leader 接受它们并分配给工作人员。每当提交任务时,工作进程都会收到通知。

0 投票
3 回答
596 浏览

c++ - 无论如何,是否允许一个应用程序线程在 GDB 中的断点处继续?

在使用 Apache Zookeeper C 运行时库调试应用程序时,我在使用 GDB 中的默认全停止模式设置断点时遇到了问题。由于 Zookeeper 线程无法运行,服务器将使会话超时,从而删除您可能创建的任何临时 znode。使用不间断模式我可以防止这种情况发生,但是我失去了能够检查任何非 Zookeeper 线程状态的便利。

GDB 中有没有办法指定一个(或多个)线程在断点被击中时将继续在应用程序中运行,但其他线程将停止运行?这样我就可以检查我关心的线程的状态,而忽略那些我想在后台运行的线程的状态。

编辑:这本质上是不停止 gdb 中的所有线程的副本。使用不间断模式的后台命令的解决方案基本上解决了我的问题,因为我可以随时停止线程并异步重新启动它们,所以也许我们应该关闭这个。

0 投票
3 回答
5862 浏览

hbase - HBase Zookeeper 关闭连接

我正在尝试制作一个在 Apache Tomcat 上运行的简单 Web 服务,并且只有一个操作可以进行 HBase 表扫描。这是我获取配置的方式:

问题是连接Zookeeper保持打开状态,当我达到一定数量的连接时,Zookeeper开始丢弃。

Zookeeper扫描后如何关闭连接?

谢谢

0 投票
0 回答
630 浏览

hadoop - 动物园管理员 getZookeeperClusterKey 出现 NullPointerException

连接到 HBase 时,会出现以下消息:

配置好像有问题。我没有使用 xml 文件进行配置,而是在我的代码中执行此操作。作为记录,这是我的代码的配置部分:

我正在使用 Spring DM 从 OSGi 应用程序运行它。

编辑:

第 956 行的源代码如下:

显然,不会读取 quorum 的值。然而,在常规的非 OSGi 应用程序中使用相同的代码不是问题。

编辑:使用不同的方式提供配置似乎有效果。我现在收到以下错误:

马上查源头。

0 投票
1 回答
11596 浏览

synchronization - Apache ZooKeeper:写入如何工作

Apache ZooKeeper 是一种用于小对象的高可用数据存储。ZooKeeper 集群由一些节点组成,这些节点都将整个数据集保存在它们的内存中。该数据集被称为“始终一致”,因此每个节点每次都有相同的数据。

根据文档和博客文章,集群中的每个节点都可以回答读取并接受写入。

  • 读取总是由节点在本地回答,因此不涉及与集群的通信。
  • 写入被转发到指定的“Leader”节点,该节点将写入请求转发给所有节点并等待它们的回复。如果至少有一半的节点回答,则认为写入成功。

问题:为什么leader等待一半的节点回复就够了?如果有人连接到没有收到更新的节点之一,他会得到一个过时的结果(仅本地读取到本地值)。

0 投票
2 回答
5686 浏览

java - ZooKeeper:会话过期时如何正确重新连接?

ZooKeeper 常见问题解答告诉当状态变为 SESSION_EXPIRED 时必须重新创建 ZooKeeper 对象。

有没有正确进行这种重新连接的代码示例?Zookeeper 发行版中的 Recipes 文件夹包含两个代码示例,它们都假定会话永不过期。这是幼稚的,因为在服务器与 ZooKeeper 集群断开连接 5 分钟后,重新建立连接后队列和锁都不会再次工作。

0 投票
11 回答
53005 浏览

locking - ZooKeeper 的替代品?(集群协调服务)

ZooKeeper是面向数据中心的高可用协调服务。它起源于 Hadoop 项目。可以在它之上实现锁定、故障转移、领导者选举、组成员资格和其他协调问题。ZooKeeper 有什么替代品吗?(当然是免费软件)

0 投票
4 回答
2885 浏览

sharding - Apache Zookeeper 如何用于分片?

我们正在考虑集中 cfg 信息,看起来 zookeeper 是一个不错的选择。我们也对分片感兴趣并且有一个方案。在 poweredBy[1] 中看到 Rackspace 和 Yahoo 正在使用 Zookeeper 进行分片。将不胜感激指针和细节。

[1] https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy

0 投票
1 回答
321 浏览

java - 在 ZooKeeper 中,我可以在不存在的 znode 上使用 async getData() 吗?

即使我调用了 exists() 方法,我也应该检查 Code.NoNode。

因此我可以直接使用 getData() 方法吗?

我注意到如果节点不存在,同步 getData() 将抛出异常。因此,如果我在不存在的 znode 上调用异步 getData,我会在性能或其他方面受到任何惩罚吗?

谢谢!