我试图了解ZooKeeper,它是如何工作的,它是做什么的。有没有什么应用程序可以与ZooKeeper相媲美?

如果你知道,那么你会如何向外行描述ZooKeeper ?

我试过apache wiki, zookeeper sourceforge…但我还是无法与之产生共鸣。

我刚刚浏览了http://zookeeper.sourceforge.net/index.sf.shtml,难道没有更多这样的服务吗?它是否像复制服务器服务那样简单?


当前回答

我理解zookeeper的方法是,摆弄CLI客户端。如入门指南和命令行界面所述

从这里我了解到zookeeper的表面看起来非常类似于文件系统,客户端可以创建和删除对象,读取或写入数据。

CLI命令示例

create /myfirstnode mydata
ls /
get /myfirstnode
delete /myfirstnode

试着自己

如何在windows, linux或mac的docker上在几分钟内启动一个zookeeper环境:

一次设置:

docker network create dn

在终端窗口运行服务器:

docker run --network dn --name zook -d zookeeper
docker logs -f zookeeper

在第二个终端窗口中运行客户端:

docker run -it --rm --network dn zookeeper zkCli.sh -server zook

参见dockerhub上的image文档

其他回答

我理解zookeeper的方法是,摆弄CLI客户端。如入门指南和命令行界面所述

从这里我了解到zookeeper的表面看起来非常类似于文件系统,客户端可以创建和删除对象,读取或写入数据。

CLI命令示例

create /myfirstnode mydata
ls /
get /myfirstnode
delete /myfirstnode

试着自己

如何在windows, linux或mac的docker上在几分钟内启动一个zookeeper环境:

一次设置:

docker network create dn

在终端窗口运行服务器:

docker run --network dn --name zook -d zookeeper
docker logs -f zookeeper

在第二个终端窗口中运行客户端:

docker run -it --rm --network dn zookeeper zkCli.sh -server zook

参见dockerhub上的image文档

Zookeeper是最好的开源服务器和服务之一,它有助于可靠地协调分布式进程。Zookeeper是一个CP系统(参考CAP定理),提供一致性和分区容忍。在所有节点上复制Zookeeper状态使其最终成为一致的分布式服务。

此外,任何新当选的领导人都会更新其追随者丢失的提案,或者在追随者丢失了许多提案时,更新国家的快照。

Zookeeper还提供了一个非常易于使用的API。这篇博客,Zookeeper Java API的例子,有一些例子,如果你正在寻找例子。

那么我们在哪里使用它呢?如果你的分布式服务需要一个集中的,可靠的和一致的配置管理,锁,队列等,你会发现Zookeeper是一个可靠的选择。

我建议使用以下资源:

论文:https://pdos.csail.mit.edu/6.824/papers/zookeeper.pdf 由MIT 6.824提供的讲座从36:00开始:https://youtu.be/pbmyrNjzdDk?t=2198

我建议先看视频,读一读报纸,然后再看一遍。如果您事先了解Raft,就会更容易理解。

Zookeeper是一个集中的开源服务器,用于维护和管理分布式集群环境的配置信息、命名约定和同步。Zookeeper通过提供低延迟和高可用性帮助分布式系统降低管理复杂性。Zookeeper最初是Hadoop的子项目,但现在它是Apache软件基金会的顶级独立项目。

更多的信息

Apache ZooKeeper是一种开源技术,用于协调和管理分布式应用程序中的配置。它简化了维护配置细节、启用分布式同步和管理命名注册中心等任务。

它的名字很贴切——想想一个动物园管理员是如何四处走动,照顾所有的动物,维护它们的围栏,喂它们等等。

Apache ZooKeeper可以与Apache Pinot或Apache Flink等Apache项目一起使用。Apache Kafka还使用ZooKeeper来管理代理、主题和分区信息。由于Apache ZooKeeper是开源的,你可以将它与任何你选择的技术/项目配对,而不仅仅是Apache Foundation项目。