Zookeeper安装与部署

来源:互联网 发布:女式腰带淘宝网 编辑:程序博客网 时间:2024/05/20 23:08

  • 安装准备
  • 配置
  • 总结

1.安装准备

[官网下载地址](http://zookeeper.apache.org/releases.html)首先准备好Java环境,然后根据系统下载对应的zk版本,建议下载最新的稳定版。为了今后操作方便可以在系统环境变量中配置ZK_HOME = /zookeeper/bin

2.配置

zookeeper有两种运行模式:集群模式和单机模式。另外zk也可以搭建成伪集群模式,下面会一一介绍。

集群模式

  • 初次使用Zookeeper,需要将%ZK_HOME%/conf目录下的zoo_sample.cfg文件重命名为zoo.cfg,并按照如下配置:

    clientPort=2181dataDir=/var/lib/zookeeperinitLimit=5syncLimit=2server.1=ip1:2888:3888server.2=ip2:2888:3888server.3=ip3:2888:3888

    参数详情:
    (1) clientPort:用于配置当前服务器对外的服务端口,客户端会通过该端口和Zookeeper服务器创建连接,一般设置为2181;每台服务器都可以配置任意可用的端口,同时集群中所有的服务器不需要保持clientPort端口一致。
    (2) dataDir:用于配置Zookeeper服务器存储内存快照文件的目录。默认情况下,如果没有配置参数dataLogDir,那么事务日志文件也会存储在该目录下。考虑到事务日志的写性能直接影响Zookeeper服务器整体的服务能力,因此建议配置dataLogDir存储Zookeeper事务日志。
    (3) tickTime:用于配置Zookeeper中最小时间单元的长度,很多运行时间间隔都以tickTime的倍数来表示,默认3000ms。
    (4) server.id = host:port:port: id被称为ServeID, 用于表示机器在集群中的机器序号,同时需要在每台zookeeper服务器的dataDir参数指定目录下创建一个myid文件,文件只有一行数字,即对应机器的ServerID; 注意:请确保每个服务器ServerID不同,且取值范围 1~255。
    第一个端口用于指定Follower服务器与Leader服务器进行运行时通信和数据同步时使用的端口,第二个端口则专门用于进行Leader选举过程中的投票通信。

  • 创建myid文件
    在dataDir配置指定的目录下,创建一个名为myid的文件,在文件中写上一个数字,和zoo.cfg中当时机器编号对应上。

  • 按照相同步骤,为其他服务器都配置 zoo.cfg和myid文件。值得注意的是:所有的zookeeper服务器中zoo.cfg配置的server.id = host:port:port 都必须相同,否则服务器之间无法正常通信。
  • 启动服务器
    window环境下,双击运行所有zoookeeper服务器中 %ZK_HOME%/bin目录下的zk.cmd。请确保windows防火墙已关闭。
    linux/mac环境,启动运行所有zoookeeper服务器中 %ZK_HOME%/bin目录下的zk.sh。

单机模式

单机模式只是一种特殊的集群模式——只有一台机器的集群,因此与集群模式唯一的区别就是在机器列表上只有server.1一项:

clientPort=2181dataDir=/var/lib/zookeeperinitLimit=5syncLimit=2server.1=ip1:2888:3888

伪集群模式

伪集群模式就是将同一台机器不同的端口配置成集群,只需要对zoo.cfg文件做如下修改:

clientPort=2181dataDir=/var/lib/zookeeperinitLimit=5syncLimit=2server.1=ip1:2888:3888server.2=ip1:2889:3889server.3=ip1:2890:3890

总结

Zookeeper配置的详细介绍请阅读官方文档。推荐书籍:《从Paxos到Zookeeper分布式一致性原理与实践》

1 0