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

时间:2015-04-16 14:41:26

标签: apache-zookeeper

我已经学习了基本的zookeeper概念并做了一个示例项目,但我只用它本地电脑或一台电脑。

我理解动物园管理员,但如果客户端不在一台计算机上,他们仍然对如何连接到zookeeper服务器感到困惑?例如,如果我们在自己的计算机中启动zookeeper服务器,并且我们可以使用connect()(如connect 2181)连接到zookeeper服务器,这是有道理的,因为它们都在一台计算机中,在较低层有一些关联。但是如果将zookeeper服务器和客户端分成两台计算机呢?我们怎么办呢?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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