zookeeper集群部署

一、单节点部署

1. 安装及启动

  • 下载地址:https://zookeeper.apache.org/releases.html
  • 解压文件,并新建配置文件
    # 下载
    $ wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
    $ tar -zxvf zookeeper-3.4.14.tar.gz
    $ cd zookeeper-3.4.14/
    $ cd conf/
    $ cp zoo_sample.cfg zoo.cfg
    $ cd ..
    $ cd bin/
    $ sh zkServer.sh start
    
    启动成功后,如下显示:
    在这里插入图片描述
    查看服务启动状态:
    在这里插入图片描述
    关闭服务:
    在这里插入图片描述

2. 配置文件说明

  • 配置文件如下:
    # 心跳时间间隔
    tickTime=2000
    # 初始连接心跳书限制
    initLimit=10
    # 每次请求与应答间的心跳数限制
    syncLimit=5
    # 存储快照的目录, 不要使用/tmp用于存储, 这里只是一个示例
    dataDir=/tmp/zookeeper
    # zookeeper服务端口
    clientPort=2181
    # 客户端连接的最大数目, 修改此选项以增加更多客户端
    #maxClientCnxns=60
    # 保存在dataDir中的快照数
    #autopurge.snapRetainCount=3
    # 清除任务间隔(小时), 设置为 “0” 以禁用自动清除功能
    #autopurge.purgeInterval=1
    

二、集群部署

1. 安装部署准备

准备三台服务器,并分别下载并解压zookeeper-3.4.12,三台服务的IP配置如下:
- 192.168.1.101
- 192.168.1.102
- 192.168.1.103

2. 修改配置文件

在三台服务器的 zoo.cfg 配置文件末尾添加如下配置:

# 配置格式 server.id = ip:port:port
# 配置的id唯一,不可重复
# 2888端口为集群内机器通信使用
# 3888端口为leader选举使用
server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888
server.3=192.168.1.103:2888:3888

在 dataDir 配置目录下新建myid文件,写入id的值:

# 此处仅为示例,dataDir不要使用/tmp目录
vim /tmp/zookeeper/myid

文件内容如下:
在这里插入图片描述

3. 启动集群

启动zookeeper时注意开放端口,centos 7.0 开放端口命令如下:

# --zone             作用域
# --add-port         添加端口,格式:端口/通讯协议
# --permanent        永久生效,无此参数时服务器重启后配置失效
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent

# 配置完成后,重启防火墙
firewall-cmd --reload

# 查看防火墙已开放的端口
firewall-cmd --list-ports

使用命令 ./zkServer.sh start 分别启动三台服务器的zookeeper,集群启动完成后,三台服务器状态如下:

  • 服务器IP 192.168.1.101:
    在这里插入图片描述
  • 服务器IP 192.168.1.102:
    在这里插入图片描述
  • 服务器IP 192.168.1.103:
    在这里插入图片描述

三、客户端命令

1. 命令简介

zookeeper 命令用于在 zookeeper 服务上执行操作,首先执行命令,打开新的 session 会话,进入终端。

$ ./zkCli.sh

进入终端后如下显示:
在这里插入图片描述
查看命令帮助:
在这里插入图片描述

2. 命令详解

命令格式说明
lsls path [watch]查看路径下的目录列表
ls2ls2 path [watch]查看路径下的目录列表,比 ls 更详细
statstat path [watch]查看节点状态信息
setset path data [version]修改节点存储的数据
getget path [watch]获取节点数据和状态信息
createcreate [-s] [-e] path data acl创建节点
deletedelete path [version]删除节点
rmrrmr path递归删除文件夹
historyhistory查看执行的历史命令
quitquit退出终端

版权声明:本文为shao5166233原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。