- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
免责声明:我是 etcd 项目和 ZooKeeper 项目的新手。
我最近对分布式开源产品产生了兴趣。我发现它们似乎需要配置(协调?)系统,例如用于 Presto DB 的 ZooKeeper,用于 kubernetes 的 Hive 和 Etcd,我认为了解 etcd 和 ZooKeeper 的作用是了解分布式系统的第一步。
但是现在,我感觉迷路了……我还不能理解 etcd 和 ZooKeeper 的优点和独特之处。他们为我寻找分布良好的键值存储或文件系统。这是我对产品的印象。我知道印象并不能反射(reflect)产品的特点。但我不知道我应该知道的剩余功能是什么。
ZooKeeper:根据 ZooKeeper 的概述页面,它保证了以下几点。
顺序一致性和原子性是大多数文件系统不支持但其他文件系统共有的独特功能。
Etcd:根据 etcd 的 README。它专注于
它们中的大多数似乎在 Amazon S3 中很常见(S3 不支持如此快速的访问。)
我知道这些产品非常好,因为大多数分布式开源产品都依赖于它们。但是分布式开源产品选择它们的关键、独特的功能是什么?
最佳答案
我认为您将类似文件系统的界面与实际的文件系统混淆了。您提到的系统非常适合集群协调,尤其是 ZooKeeper。它们不是的设计目的是像文件系统那样存储大量数据。您应该认为它们更适合协调文件系统。也就是说,可以想象一个文件系统在 ZooKeeper 或 etcd 等一致的存储中存储文件的路径,而不是文件本身。它们公开了类似文件系统的接口(interface),这与任何存储文件的能力无关。实际上,这些系统旨在存储可以保存在内存中的少量数据。通过使用像 ZooKeeper 这样的一致性存储在分布式文件系统中存储文件信息,文件系统将确保客户端按顺序看到文件系统中的更改。
ZooKeeper 实际上是一组可以用来协调分布式系统的原语。与 ZooKeeper 协调分布式系统特别相关的是它的 session 事件(监视),它允许客户端监听集群状态的变化。分布式系统通常在 ZooKeeper 中使用 watch 来处理锁之类的事情,ZooKeeper 的强一致性保证使其非常适合该用例。
如果您想了解 ZooKeeper 和 etcd 等系统的用途,您应该查看 Apache Curator recipes . Atomix还实现了类似类型的 API,用于在共识算法之上协调分布式系统。所有这些工具都展示了基于共识的分布式系统的典型用例。
需要注意的重要一点是,这些类型的系统建立在共识算法之上,并且通常将状态存储在内存中。它们适用于涉及少量数据但需要高度一致性的操作,这就是它们经常用于分布式锁定、配置管理和组成员资格等事情的原因。
关于apache-zookeeper - ZooKeeper 和 Etcd 有多好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36672059/
我最近安装了一个带有 Exhibitor 的新 ZK 节点,它开始正常。当我执行 telnet localhost 2181 然后运行 stats 以查看版本时,即使我安装了 3.4.11,我仍然
每 the zookeeper docs , 可以创建一种以“ super ”用户身份访问 Zookeeper 集合的方法。这样做的方向在配置和连接方法方面都有些模糊。它确实巧妙地表明这只能通过 Ja
场景如下: Znode 创建:create/config 12345(例如创建于12/12/12) 更新此配置,设置/config 34567(例如在 2013 年 12 月 12 日修改) 一个月后
使用Zookeeper API,是否可以知道当前服务器是否是Zookeeper集群的leader? 文档提到领导者看到了所有追随者中最高的zxid。。是否有可能以某种方式检查? 最佳答案 您可以从不同
我正在学习 ZooKeeper 并研究备份存储在 ZooKeeper 中的数据的选项。 ZooKeeper 写入两个数据文件,快照和事务日志。人们经常提到快照是“模糊的”,需要重放事务日志以获取最新状
用例:一个池中有 100 个服务器;我想在每个服务器上启动一个 ZooKeeper 服务,服务器应用程序(ZooKeeper 客户端)将使用 ZooKeeper 集群(读/写)。那么就没有单点故障。
我正在运行 3 节点 zookeeper 集群来处理 Storm 和 kafka.Zookeeper 数据目录占用了我系统中的所有空间。我不知道如何清理它。因为,我不想完全删除数据,因为我会丢失进程的
我是 Zookeeper 的新手,试图了解它是否适合我的用例。 我有 1000 万个分层数据,我想将它们存储在 Zookeeper 中。 10M 键值对,键值对大小分别为 1KB。 因此,在没有复
在 here 有人说: "even if you read from a different follower every time, you'll never see version 3 of th
Zookeeper 临时节点是否写入磁盘? 我知道在 Zookeeper 确认写入客户端之前,正常的 Zookeeper 节点已写入磁盘。 但是,临时节点仅在客户端 session 期间持续,因此如果
在开发阶段使用zookeeper大约6个月后,虽然运行良好,但其数据目录的大小增长到 6 GIG !而且还在增加。下面列出了一些系统规范: zookeeper version: 3.4.6 numbe
我试图了解 Apache ZooKeeper 在裂脑情况下的内部工作原理。假设有一个由 5 个服务器组成的集群:A、B、C、D 和 E,其中 A 是领导者。现在假设子簇 {A, B} 与子簇 {C,
动物园管理员专家。 我问的问题对你来说可能很基础,但我是 ZK 的新手,我还没有掌握该工具,所以请原谅。考虑到这一点,这是我的问题。 假设我有一个由 5 个服务器组成的 ZK 集群,我有 3 个法定人
我正在尝试了解 Zookeeper 中的分层仲裁。文档 here 举了一个例子,但我仍然不确定我是否理解它。我的问题是,如果我有一个双节点 Zookeeper 集群(我知道不推荐这样做,但为了这个例子
我们使用的是2.3.0版本的curator-framework连接pom文件中的zookeeper。 org.apache.curator curator-fram
我们在开发机器上有一个独立的 zookeeper 设置。除了这台 testdev 机器之外,它适用于所有其他开发机器。 尝试通过 testdev 连接到 zookeeper 时,我们一遍又一遍地收到此
zookeeper 事务日志变得非常大(数千兆字节!)并且集群的每台机器中始终存在一个或最多两个事务日志文件,因为知道可能存在多个快照! .. 引入 autopurge.purgeInterval 和
本文整理了Java中org.apache.flink.shaded.zookeeper.org.apache.zookeeper.ZooKeeper.getSessionId()方法的一些代码示例,展
我需要一些帮助来使用 zookeeper-shell.sh 验证 znode(path) 是否存在于 zookeeper 中 示例:bin/zookeeper-shell.sh zk:9091 ls/
我需要使用 tcpdump 调试我的 kafka 消费者和 zookeeper 之间交换的数据。我浏览了 zookeeper 文档,但找不到任何关于 zookeeper 通信协议(protocol)的
我是一名优秀的程序员,十分优秀!