hadoop - 使用 Zookeeper 的分布式应用程序

标签 hadoop concurrency apache-zookeeper distributed-transactions locks

我需要使用 zookeeper 设计分布式应用程序。这是我第一次使用 Zookeeper,所以我对它的用法有点困惑。我读过 Zab 协议(protocol)在多次更新时确保可序列化,但我无法理解,如果是这种情况,它将自动允许无锁实现。那么为什么首先需要锁呢?
如果有人可以在这里提供帮助,那就太好了。

谢谢

最佳答案

Zab 协议(protocol)是 zookeeper 的关键部分。它确保消息的原子广播到副本。 Zab 协议(protocol)可确保可串行化,但可串行化的概念仅可确保将原子数据传递给单个应用程序。
Apache 使用此协议(protocol)在 zookeeper 中实现原子广播。

Zookeeper 用于分布式服务协调。在一个有 n 个进程正在协调的系统中,为了维护特定的执行顺序,我们需要分布式锁。

关于hadoop - 使用 Zookeeper 的分布式应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24066482/

相关文章:

java - 该代码适用于notifyAll,但不适用于notify

concurrency - rsync 如何处理并发文件访问?

java - 好的 Zookeeper Hello world 程序与 Java 客户端

java - 如何将两个映射器组合到一个化简器

java - PIG 聚合函数 - OutOfMemory : Java Heap Space

java - 线程局部对象池

java - Zookeeper示例-分布式数学计算

apache-zookeeper - 我如何在zookeeper zkServer.cmd 中启用带有端口的远程jmx

hadoop - 如何在类似于pyspark的java中将parquet文件写入分区?

java - Ubuntu 14.04 32 位库上的 Hadoop 2.4