docker环境下安装zookeeper3.5版本

说明

之前只是在虚拟机中安装过zookeeper,很是不方便。今天决定在docker中安装zookeeper,网上的教程很多,但是基本都是相互抄袭,在安装过程上遇见很多坑,在此记录,给大家作为一个参考,针对的是docker zookeeper3.5官方镜像,集群搭建。只讲述安装过程,zk详细参数自行百度。

zookeeper安装

1.docker下载最新的zookeeper镜像

docker pull zookeeper  
直接拉取官方最新版本
  1. 新建docker-compose.yml(任意目录均可),配置启动容器参数
    直接附上docker-compose.yml
version: '2'
services:
    zoo1:
        image: zookeeper
        restart: always
        container_name: zoo1
        ports:
            - "2181:2181"
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

    zoo2:
        image: zookeeper
        restart: always
        container_name: zoo2
        ports:
            - "2182:2181"
        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

    zoo3:
        image: zookeeper
        restart: always
        container_name: zoo3
        ports:
            - "2183:2181"
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

此处配置文件中,注意ZOO_SERVERS: server中的配置,zoo1:2888:3888;2181中的2181一定要写(指定clientPort),否则会报client port not found的错误

  1. 进入docker-compose.yml所在目录运行命令docker-compose up -d (-d可以指定在后台运行,否则会直接在当前shell中运行),如果没有异常会在shell中输出
  2. shell中执行命令 docker ps 查看当前容器是否正常工作
  3. 进入容器中查看zookeeper主从关系
    . 运行命令docker exec -it zoo1 /bin/bash进入容器
    . 在zk目录下运行命令./bin/zkServer.sh status查看zk主从状态
  4. 客户端连接zk
    • docker所在宿主机下载zk,并进入zk目录下面的bin目录,执行连接命令
      • windows客户端执行.\zkCli.cmd -server localhost:2181,localhost:2182,localhost:2183
      • linux客户端执行.\zkCli.sh -server localhost:2181,localhost:2182,localhost:2183
        显示如下即服务正常

tip

docker安装zk之后检测zk是否正常运行

  1. dcoker ps 查看容器是否均已启动(未启动,查看docker运行日志,进行分析)
  2. zkCli连接集群,查看zk是否能正常连接
  3. 如果不能正常连接,则进入容器中查看zk状态以及zk的运行日志
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐