什么是Zookeeper端口及其用途?

27

我对Zookeeper端口还比较新,最近几天才开始接触。
我在两个场合接触到了Zookeeper端口关键词:

  • 在配置Neo4j数据库集群时(链接
  • 在运行编译的Voltdb目录时(链接)(请参见网络配置参数)

然后,我了解到了Apache Zookeeper(我猜想它与分布式应用有关,我对分布式应用也是一名新手)。因此,我的问题来了:

  1. 以上2种情况中是否实现了Apache Zookeeper?
  2. Zookeeper端口内部具体是做什么的?

任何帮助都将不胜感激,谢谢。

1个回答

50

Zookeeper主要用于分布式应用的配置管理和高可用操作。Zookeeper通过Master-Slave架构实现这一功能。Neo4j和VoltDb可能会使用Zookeeper来实现此目的。

关于端口的理解: 假设您有3台Zookeeper服务器...您需要在配置中指定:

clientPort=2181
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888

其中一个服务器将成为主服务器,其余所有服务器都将成为从服务器。如果有任何服务器关闭,则Zookeeper会自动选举领导者。

服务器监听三个端口:2181用于客户端连接;2888用于跟随者连接(如果它们是领导者);3888用于其他服务器在领导者选举阶段的连接。


1
根据您的这行代码 server.1=zookeeper1:2888:3888,您是指主机名为zookeeper吗?因为上述配置存在于neo4j coord.cfg文件中。 - Aman Gupta
是的,zookeeper1(zookeeper2,zookeeper3)代表主机名。 - Sandeep Das

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接