由于zookeeper使用java语言编写,因此我们运行zookeeper需要保证你的服务器上已经安装了jdk。
安装zk
本文介绍的前提是已经默认安装好了jdk,Linux安装JDK教程https://www.cnblogs.com/yxth/p/6495152.html
1.打开zookeeper官网https://zookeeper.apache.org/,点击红框中的【Download】
2.弹出页中继续选择【Download】
3.弹出页中点击红框内链接
4.选择要下载的版本
5.选择要下载的文件,二进制文件或源码文件。
6.点击后即开始下载,等待下载完成,我们将它上传至linux服务器
7.输入命令解压文件,解压完成后会多出一个同名的文件夹
tar zxvf apache*
8.进入文件夹,可以看到里面的目录结构。
主要的文件夹
- bin:zk可执行脚本目录
- conf:zk配置文件目录
- lib:zk依赖的包
9.进入【conf】目录,修改里面的【zoo_sample.cfg】文件名为【zoo.cfg】
zk的安装又可以分为单机模式和集群模式,下面分别介绍:
单机模式
顾名思义,单机模式就是只安装一个zk进程,主要内容都是在之前改名的zoo.cfg中进行配置。我们先打开zoo.cfg文件,查看里面有哪些配置信息
我们逐一介绍里面的参数:
- tickTime:以毫秒为单位,每一次的心跳间隔时间。默认2000ms
- initLimit:集群配置,从服务连接到主服务时需要进行初始化同步,这里配置允许最大的同步时间,数值为tickTime的倍数。
- syncLimit:集群配置,从服务与主服务的同步限制时间,超过指定数值没有同步,则会删除从服务。数值同样为tickTime的倍数。
- dataDir:快照存放目录,默认存放/tmp/zookeeper。如果没有配置dataLogDir,则日志文件也会存放在这里
- clientPort:监听的端口,默认是2181
如果不需要修改,直接保存即可。
然后进入bin目录下,启动【zkServer】文件(我这里使用了【start-foreground】来启动,是让zk运行在前台,可以直接看到它的打印日志)
集群模式
集群模式和单机模式相差不大,区别在于【zoo.cfg】文件中需要配置主从服务的地址
server.1=192.168.229.160:2888:3888 server.2=192.168.229.161:2888:3888 server.3=192.168.229.162:2888:3888
注意:配置至少需要3个进程,或者奇数个进程,这是由于zk的选举机制导致的问题。
集群里面所有进程的【zoo.cfg】可以配置的一模一样,然后进行分别启动。