跳至主要內容

安装Zookeeper(单机&集群)

soulballad环境配置CentOSCentOS约 837 字大约 3 分钟

10.安装Zookeeper(单机&集群)

zookeeper 有两种运行模式:集群模式和单机模式。

下载 zookeeperopen in new window 安装包:下载完成,通过 tar -zxvf 解压

常用命令

  1. 启动 ZK 服务: bin/zkServer.sh start
  2. 查看 ZK 服务状态: bin/zkServer.sh status
  3. 停止 ZK 服务: bin/zkServer.sh stop
  4. 重启 ZK 服务: bin/zkServer.sh restart
  5. 连接服务器: zkCli.sh -timeout 0 -r -server ip:port

单机环境安装

一般情况下,在开发测试环境,没有这么多资源的情况下,而且也不需要特别好的稳定性的前提下,我们可以使用单机部署;

初次使用 zookeeper,需要将 conf 目录下的 zoo_sample.cfg 文件 copy 一份重命名为 zoo.cfg 修改 dataDir 目录,dataDir 表示日志文件存放的路径

tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
cd apache-zookeeper-3.5.5/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

修改 zoo.cfg 配置

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/program/apache-zookeeper-3.5.5/data
dataLogDir=/opt/program/apache-zookeeper-3.5.5/logs
# the port at which the clients will connect
clientPort=2181

启动Zookeeper

cd /opt/program/apache-zookeeper-3.5.5/
sh bin/zkServer.sh start

集群环境安装

在 zookeeper 集群中,各个节点总共有三种角色,分别是:leader,follower,observer

集群模式我们采用模拟 3 台机器来搭建 zookeeper 集群。分别复制安装包到三台机器上并解压,同时 copy 一份 zoo.cfg。

  1. 修改配置文件 zoo.cfg

    修改端口

    #【2888:zookeeper 原子广播端口;3888:重新选举 leader 的端口】 
    # 注意: ip和端口之间使用 “:” 连接,不是 “.”;3888 后面不能有空格
    server.1=IP1:2888:3888
    server.2=IP2:2888:3888
    server.3=IP3:2888:3888
    

    server.A=B:C:D,其中:

    • A 是一个数字,表示这个是第几号服务器;
    • B 是这个服务器的 ip 地址;
    • C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
    • D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举, 选出一个新的 Leader, 而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样, 所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

    在集群模式下,集群中每台机器都需要感知到整个集群是由哪几台机器组成的,在配置文件中,按照格式 server.id=host:port:port,每一行代表一个机器配置

    id: 指的是 server ID,用来标识该机器在集群中的机器序号

  2. 新建 datadir 目录,设置 myid

    在每台 zookeeper 机器上,我们都需要在数据目录(dataDir)下创建一个 myid 文件,该文件只有一行内容,对应每台机器的 Server ID 数字;比如 server.1 的 myid 文件内容就是 1。【必须确保每个服务器的 myid 文件中的数字不同,并且和自己所在机器的 zoo.cfg 中 server.id 的 id 值一致,id 的范围是 1~255】

  3. 启动 zookeeper

参考:

上次编辑于:
贡献者: soulballad