美文网首页
Docker部署ZooKeeper

Docker部署ZooKeeper

作者: 星辰大海的精灵 | 来源:发表于2024-02-29 09:35 被阅读0次

    在分布式系统中,ZooKeeper是一个关键的组件,用于协调和管理多个节点之间的状态。本文将详细介绍如何使用Docker安装和部署ZooKeeper,包括非集群部署和集群部署两种情况。

    非集群部署

    前期准备

    在开始之前,请确保你已经安装了Docker,并且拥有sudo权限。

    关闭防火墙和SELinux:

    sudo systemctl stop firewalld

    sudo systemctl disable firewalld

    sudo setenforce 0

    sed -i "s|SELINUX=enforcing|SELINUX=disabled|g" /etc/selinux/config

    拉取镜像和创建目录

    docker pull zookeeper:3.4

    mkdir -p /data/zookeeper/{conf,data,logs}

    添加配置

    创建并编辑 /data/zookeeper/conf/zoo.cfg 文件,添加以下内容:

    tickTime=2000

    initLimit=10

    syncLimit=5

    dataDir=/data

    clientPort=2181

    maxClientCnxns=0

    autopurge.purgeInterval=1

    dataLogDir=/datalog

    启动ZooKeeper

    运行以下命令启动ZooKeeper容器:

    docker run -d --net=host --name zookeeper --restart=always \

    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \

    -v /data/zookeeper/conf:/conf \

    -v /data/zookeeper/data/:/data \

    -v /data/zookeeper/logs:/datalog \

    zookeeper:3.4

    集群部署

    前期准备

    同样地,在所有节点执行以下操作:

    sudo systemctl stop firewalld

    sudo systemctl disable firewalld

    sudo setenforce 0

    sed -i "s|SELINUX=enforcing|SELINUX=disabled|g" /etc/selinux/config

    创建目录和添加配置

    每个节点执行以下命令:

    mkdir -p /data/zookeeper/{conf,data,logs}

    编辑 /data/zookeeper/conf/zoo.cfg 文件,在每个节点上修改以下内容:

    clientPort=2181

    dataDir=/data

    dataLogDir=/datalog

    tickTime=2000

    initLimit=5

    syncLimit=2

    server.1=10.8.16.83:2888:3888

    server.2=10.8.16.84:2888:3888

    server.3=10.8.17.32:2888:3888

    创建标识文件

    每个节点执行以下命令:

    echo "1" >/data/zookeeper/data/myid

    将数字 1 替换为节点的ID,分别在每个节点上执行。

    启动ZooKeeper集群

    在每个节点上执行以下命令启动ZooKeeper容器:

    docker run -d --net=host --name zookeeper --restart=always \

    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \

    -v /data/zookeeper/conf:/conf \

    -v /data/zookeeper/data/:/data \

    -v /data/zookeeper/logs:/datalog \

    zookeeper:3.4

    验证和常用命令

    验证ZooKeeper集群状态

    在任意节点上运行以下命令验证ZooKeeper集群状态:

    docker exec -it zookeeper /zookeeper-3.4.14/bin/zkServer.sh status

    ZooKeeper常用命令

    连接到ZooKeeper容器并执行以下命令进行操作:

    docker exec -it zookeeper /zookeeper-3.4.14/bin/zkCli.sh -server localhost:2181

    在交互式命令行下,可以执行以下常用命令:

    ls /:查看指定路径下的节点

    create /zk mydata:创建一个节点

    get /zk:显示指定路径下节点的信息

    set /zk "anotherData":设置节点的内容

    delete /zk:删除一个节点

    除此之外,还有一些四字母命令可以用于监控和管理ZooKeeper集群:

    conf:查看ZooKeeper服务的配置信息

    stat:查看客户端与ZooKeeper连接的简要信息

    srvr:查看ZooKeeper服务的详细信息

    cons:查看客户端与ZooKeeper连接的详细信息

    mntr:查看ZooKeeper服务的当前性能状况

    相关文章

      网友评论

          本文标题:Docker部署ZooKeeper

          本文链接:https://www.haomeiwen.com/subject/odfqzdtx.html