Zookeeper单机安装
  1. 关闭Linux(CentOS7.X版本)的防火墙
  2. 临时关闭防火墙:service iptables stop
  3. 永久关闭防火墙:chkconfig iptables off
  4. 下载安装JDK
  5. 下载Zookeeper的安装包: wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
  6. 解压Zookeeper的安装包:tar -xvf zookeeper-3.4.14.tar.gz 
  7. 进入Zookeeper的安装目录下的子目录conf目录中
  8. 将conf目录下的zoo_sample.cfg文件复制为zoo.cfg。Zookeeper在启动的时候会自动寻找zoo.cfg,根据其中的配置来启动服务:cp  zoo_sample.cfg zoo.cfg
  9. 编辑zoo.cfg文件:vim zoo.cfg,保存并且关闭zoo.cfg

    ​​​​​​tickTime=2000  
    dataDir=/usr/local/software/zookeeper/data    #
    指定数据的存储目录
    dataLogDir=/usr/local/software/zookeeper/logs
    clientPort=2181

  10. 进入Zookeeper的安装目录下的子目录bin目录中:
  11. 执行zkServer.sh文件,来启动Zookeeper服务器端sh zkServer.sh start
  12. 执行zkCli.sh文件,来启动进入Zookeeper客户端sh zkCli.sh
  13. 检测是否安装成功:
    1. 当服务器端启动成功之后,可以执行jps命令查看是否有Zookeeper的QuorumPeer进程
    2. 在服务器端启动成功之后,可以查看服务器端状态:sh zkServer.sh status, 如果出现了Standalone,说明启动成功
    3. 查看某个端口是否启动:lsof -i :2181 或者netstat -ap|grep 2181

参数解析

  1. tickTime:以毫秒为单位,这个时间作为 Zookeeper 服务器之间或客户端之间维持心跳的时间间隔
  2. dataDir:存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存到这个目录里
  3. clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求
     
Zookeeper集群搭建

安装步骤

关闭Linux(版本是Centos6.X)的防火墙

      临时关闭防火墙:service iptables stop
      永久关闭防火墙:chkconfig iptables off

下载安装JDK

下载或者上传Zookeeper的压缩包

解压压缩包:tar -xvf zookeeper-3.4.8

进入Zookeeper的安装目录下的子目录conf目录中:cd zookeeper-3.4.8/conf

将conf目录下的zoo_sample.cfg复制为zoo.cfg。Zookeeper在启动的时候会自动寻找zoo.cfg,根据其中的配置来启动存储数据:cp zoo_sample.cfg zoo.cfg

编辑zoo.cfg文件:vim zoo.cfg

修改其中的属性dataDir,指定数据的存储目录:dataDir=/home/software/zookeeper-3.4.8/tmp

在zoo.cfg文件的添加要构建集群的服务器地址
格式:server.编号=IP地址:原子广播端口:选举端口。

编号要求是数字并且不能重复,原子广播端口号和选举端口号只要不和当前已经使用的端口号冲突即可
例如:

server.1=10.42.156.58:2888:3888
server.2=10.42.36.109:2888:3888
server.3=10.42.178.114:2888:3888

关闭并且保存zoo.cfg

在dataDir的指定目录下创建数据存储目录:mkdir tmp

进入数据存储目录:cd tmp

在数据存储目录下编辑新的文件,文件名为myid:vim myid

在myid文件中填入当前服务器所对应的编号。例如当前服务器的地址为10.42.156.58,则在zoo.cfg文件中指定编号为1,那么就在myid文件中添加数字1

保存退出myid

将要配置的集群中的其他服务器按照上述步骤配置。或者可以将当前服务器中的配置拷到其他服务器上,修改对应的myid
格式 scp -r 目录或者文件 IP:目录
例如:scp -r zookeeper-3.4.8 10.42.36.109:/home/software

集群全部配置好之后,依次启动每一台服务器

进入Zookeeper安装目录下的bin目录:cd ../bin

执行zkServer.sh文件,启动Zookeeper的服务器:sh zkServer.sh start

执行zkCli.sh文件,启动Zookeeper的客户端:sh zkCli.sh

配置完成检测是否成功:

在Zookeeper集群中,如果单独启动一台服务器,是无法对外提供服务的

当把集群中的服务器都启动之后,可以利用:sh zkServer.sh status。来查看当前节点的状态,如果出现leader或者follower,则说明启动成功