zookeeper 的目录结构:

bin
conf
lib
contrib
docs

bin目录下有
zkCli.sh
zkServer.sh

zookeeper启动方式:
1.单机模式
zkServer.sh ../conf/zoo.conf

2.伪分布式模式
zkServer.sh ../conf/zoo1.conf
zkServer.sh ../conf/zoo2.conf
zkServer.sh ../conf/zoo3.conf

zoo1.conf内容如下:
配置内容:
tickTime=2000
clientPort=2181/2182/2183
initLimit=5
syncLimit=2
dataDir=/var/lib/zookeeperdata/1
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

clientPort=2181代表接收客户端连接的端口
server.1=localhost:2888:3888的含义:
server.1的1代表机器号
2888代表与leader通信使用的端口号,称为通信端口
3888代表选举leader使用的端口号,称为选举端口

伪分布式模式下,进程都在一台机器上,所以端口不能重用,三个配置文件的客户端连接端口,通信端口以及选举端口必须不重复。

3.分布式模式
在每个机器执行
zkServer.sh ../conf/zoo.conf

与伪分布式相比,因为在不同机器,所以端口可以相同,配置文件可以相同。

Question:
分布式模式下分机器是如何相互识别的?
通过配置文件的server.x识别

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐