Zookeeper的安装配置十分简单,既可以配置成单机模式,也可以配置成集群模式。
单机模式#
从这里下载zookeeper的安装包之后, 解压到合适目录。进入zookeeper目录下的conf目录,创建zoo.cfg
tickTime=2000
dataDir=/tmp/log/zookeeper/data
dataLogDir=/tmp/log/zookeeper/logs
clientPort=4180
参数说明
- tickTime: zookeeper中使用的基本时间单位, 毫秒值.
- dataDir: 数据目录. 可以是任意目录.
- dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
- clientPort: 监听client连接的端口号.
至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:
bin/zkServer.sh start
Server启动之后,就可以启动client去连接
bin/zkCli.sh -server localhost:4180
集群模式#
集群模式只是zoo.cfg稍有不同
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/tmp/log/zookeeper/data
dataLogDir=/tmp/log/zookeeper/logs
clientPort=4180
server.43=10.1.39.43:2888:3888
server.47=10.1.39.47:2888:3888
server.48=10.1.39.48:2888:3888
示例中部署了3台server,分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上。
另外两个参数分别表示:
- initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
- syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.