Docker部署单机Zookeeper

配置Zookeeper安装目录

  • 在宿主机配置zookeeper安装目录:/docker/develop/zookeeper
    并且在文件夹创建 data 和logs 目录:
    mkdir -p /docker/develop/zookeeper/data
    mkdir -p /docker/develop/zookeeper/logs

  • 授权文件目录:chmod -R 777 /docker/develop/zookeeper/

安装和部署Zookeeper

  • 拉取zookeeper镜像:docker pull zookeeper

  • 安装一个临时的Zookeeper服务zookeeperTemp

    docker run -d -p 2181:2181 --restart always --name=zookeeperTemp --privileged=true zookeeper:3.4.9(3.5以上的版本可能有启动问题)
    
  • 进入zookeeperTemp容器中看一下

    docker exec -it 容器id(通过docker ps查到) /bin/bash\
    
  • 去到根目录/,发现根目录中有一个conf目录,进入后发现里面有我们需要的zoo.cfg文件

  • exec命令退出zookeeperTemp容器

  • 这时候敲一个命令

    docker cp zookeeperTemp容器的id/conf /docker/develop/zookeeper/
    

    将容器中有zoo.cfg文件的conf直接拷贝到容器外我们一开始建立的zookeeper目录下,此时/docker/develop/zookeeper/目录中应该有三个目录:confdatalogs

  • 这个时候正式地建立我们的zookeeper容器,命名为zookeeper01,别忘了先停掉zookeeperTemp然后删掉zookeeperTemp这个容器

    docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --restart always --name=zookeeper01  --privileged=true \
    -v /docker/develop/zookeeper/conf:/conf \
    -v /docker/develop/zookeeper/data:/data \
    -v /docker/develop/zookeeper/logs:/datalog \
    -e "TZ=Asia/Shanghai" \
    -e "JAVA_OPTS=-server -Xms512m -Xmx512m -Xmn256m -Duser.home=/opt -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:+AlwaysPreTouch -XX:-UseBiasedLocking" \
    zookeeper:3.4.9
    

    三个-v是将我们容器外部的zookeeper下的三个目录挂载到新建的容器zookeeper01的对应目录上。这样我们就可以在外部修改容器内部的文件了。

启动服务端

  • 进入zookeeper01

    docker exec -it 容器id /bin/bash
    
  • 启动server

    bin/zkServer.sh start
    

启动客户端

bin/zkCli.sh

关闭客户端

quit

关闭服务端

bin/zkServer.sh stop

你可能感兴趣的:(docker,zookeeper,centos)