1.下载安装包
下载地址: http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/

2.解压: tar -zxf zookeeper-3.4.5-cdh5.3.6.tar.gz -C 安装目标路径
3.解压完成以后还需要配置配置文件才能使用
(1)在安装路径下创建文件夹(这个文件夹什么用后面会提到):mkdir -p data/zkData
(2)配置文件:在安装路径下的conf/文件夹下有一个zoo_sample.cfg这个文件,这个文件是无法被zookeeper识别的,将它改成zoo.cfg,zookeeper能识别的文件:mv zoo_sample.cfg zoo.cfg
(3)修改配置文件:在dataDir上配置:dataDir= zookeeper路径/data/zkDir ,就是上面配置的文件夹。
在末尾加上:

server.1=hadoop101:2888:3888
 server.2=hadoop102:2888:3888
 server.3=hadoop103:2888:3888


此格式的解析:
server.A=B:C:D:
A是一个数字,表示这个是第几号服务器,B是这个服务器的ip地址(这里之所以是hadoop101,是因为在这个集群里,我已经在hosts这个文件里配置好了集群主机名)
C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口
D是在leader挂掉时专门用来进行选举leader所用
(4)配置文件中的各个配置选项的解析:
tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
clientPort:服务的监听端口
dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)
dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。
4.在data/zkData这个文件中还需要创建一个myid的文件,文件内容为前面zoo.cfg中配置server.x 这个x这个数字(例如server.1=hadoop101:2888:3888 ,myid中就写入1)。这里要注意没有后缀的文件不要用notepad++进行远程连接填写,会变成乱码,最后直接用vi填写。
5.启动zookeeper集群:
在安装目录中有bin/目录,里面有zkServer.sh 启动服务器。
在每台虚拟机上启动bin/zkServer.sh start启动集群
通过bin/zkServer.sh status来查看启动情况