如何将客户端关联/连接到 zookeeper 服务器?

How to associate/ connect the client to zookeeper server?

我学习了基本的 zookeeper 概念并做了一个示例项目,但我只在本地 pc 或一台计算机上使用它。

我了解 zookeeper 但仍然对客户端不在一台计算机上如何连接到 zookeeper 服务器感到困惑?例如,如果我们在我自己的计算机上启动一个 zookeeper 服务器,我们可以使用 connect() 像 connect 2181 来连接到 zookeeper 服务器,这是有道理的,因为它们都在一台计算机上,在较低层有一些关联。但是如果zo​​okeeper server和client是分开在两台电脑上的呢?我们该如何处理?

我不确定您为客户端使用的是哪种语言,因此这必须是一个通用的答案。

客户端和服务器通过 TCP 通信。这要求客户端只知道服务器的主机和端口。通常,您的 ZooKeeper 服务器绑定到一些专用网络接口。例如,您的 zoo.conf 配置文件可能包含如下一行:

clientPort=2181
server.1=123.456.789.1:2888:3888

server.1 部分的第一部分 123.456.789.1 是 ZooKeeper 服务器将绑定到的主机。只要该主机不是环回接口(即 localhost127.0.0.1),您应该能够从另一台主机连接到该主机客户端端口 2181 上的计算机。因此,例如,在 Java 中,我创建了一个指向该主机和端口的新 ZkClient:

ZkClient client = new ZkClient("123.456.789.1:2181");