• docker快速搭建zookeeper集群


    一、准备工作

    1、拉取zookeeper镜像

    1. docker pull zookeeper
    2. docker tag docker.io/zookeeper zookeeper
    3. docker rmi docker.io/zookeeper

    2、安装docker-compose工具

    1. # 升级 pip
    2. pip3 install --upgrade pip
    3. # 指定 docker-compose 版本安装
    4. pip install docker-compose==1.22
    5. # 验证是否安装成功,有返回值,说明安装成功
    6. docker-compose -v

    3、创建相关文件夹

    1. mkdir -p /data/docker-compose/zookeeper
    2. mkdir -p /data/docker-data/zookeeper

     

    二、使用docker-compose编排zookeeper集群

    1、创建docker-compose.yml

    1. cd /data/docker-compose/zookeeper
    2. vi docker-compose.yml
    3. version: '3.6'
    4. services:
    5. zoo1:
    6. image: zookeeper
    7. restart: always
    8. hostname: zoo1
    9. container_name: zoo1
    10. ports:
    11. - 2181:2181
    12. environment:
    13. ZOO_MY_ID: 1
    14. ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    15. volumes:
    16. - /data/docker-data/zookeeper/zoo1/data:/data
    17. - /data/docker-data/zookeeper/zoo1/datalog:/datalog
    18. zoo2:
    19. image: zookeeper
    20. restart: always
    21. hostname: zoo2
    22. container_name: zoo2
    23. ports:
    24. - 2182:2181
    25. environment:
    26. ZOO_MY_ID: 2
    27. ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    28. volumes:
    29. - /data/docker-data/zookeeper/zoo2/data:/data
    30. - /data/docker-data/zookeeper/zoo2/datalog:/datalog
    31. zoo3:
    32. image: zookeeper
    33. restart: always
    34. hostname: zoo3
    35. container_name: zoo3
    36. ports:
    37. - 2183:2181
    38. environment:
    39. ZOO_MY_ID: 3
    40. ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    41. volumes:
    42. - /data/docker-data/zookeeper/zoo3/data:/data
    43. - /data/docker-data/zookeeper/zoo3/datalog:/datalog

     

    2、执行构建consul集群

    1. cd /data/docker-compose/zookeeper
    2. docker-compose up -d

     

    3、进入容器验证集群是否构建成功

    1. docker exec -it zoo1 bash
    2. zkServer.sh status

    返回下面信息,说明集群搭建成功

    1. root@zoo1:/# zkServer.sh status
    2. ZooKeeper JMX enabled by default
    3. Using config: /conf/zoo.cfg
    4. Client port found: 2181. Client address: localhost. Client SSL: false.
    5. Mode: follower

    可以看到,zoo1是follower角色

    再依次到zoo2、zoo3中看,最后发现,zoo3是leader角色,其他两个是follower角色,这是三台zookeeper内部选举的结果,无需我们干预。

    我们通过docker stop zoo3 把leader zoo3关掉,再分别进zoo1、zoo2,会发现,zoo2变成leader了,这也说明了zookeeper集群中,主从角色不需要我们人为干预,其内部会自己进行选举。

    到这里,zookeeper集群就搭建好了。

  • 相关阅读:
    qt环境配置
    缓存
    HFS局域网分享文件的神器(附下载链接)
    机器学习之客户违约预测模型搭建之案例实战
    selenium--获取页面信息和截图
    Magnet: Push-based Shuffle Service for Large-scale Data Processing
    int(*(*v)[ ])();怎么理解
    理解Rust的生命周期就是理解了Rust
    达梦数据库MAIN表空间导致磁盘满问题的处理和总结
    1.关系数据库mysql全面总结
  • 原文地址:https://blog.csdn.net/qq_27229113/article/details/128017243