您当前的位置: 首页 >  docker

庄小焱

暂无认证

  • 2浏览

    0关注

    805博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Zookeeper——Docker中构建zookeeper集群

庄小焱 发布时间:2021-08-24 07:35:39 ,浏览量:2

摘要

本章将详细的介绍Zookeeper集群环境的构建和Zookeeper的相关问题介绍。ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。

一、Zookeeper的安装包安装 1.1 Zookeeper准备工作(JDK的安装)

第一步一定要检查java环境,确保jdk的路径是没有错的。否则集群将构建失败。

保留好java的路径:/home/xjl/software/jdk1.8.0_301/bin/java
1.2 Zookeeper的安装配置 1.2.1 修改配置文件zoo.cfg

zookeeper的路径:/home/xjl/software/zookeeper-3.4.14/data
1.2.2 创建myid文件

那么就必须在 192.168.146.200 机器的的 /usr/local/software/zookeeper-3.3.6/data 目录下创建 myid 文件,然后在该文件中写上即可。后面的机器依次在相应目录创建myid文件,写上相应配置数字即可。

同时在zookeeper的config中添加:

server.1=10.84.111.51:2888:3888

server.2=10.84.111.154:2888:3888

server.3=10.84.111.214:2888:3888
1.2.3 配置环境变量

为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。你也可以不配,这不是搭建集群的必要操作,只不过如果你不配置环境变量,那么每次启动zookeeper需要到安装文件的 bin 目录下去启动。

首先进入到 /etc/profile 目录,添加相应的配置信息:

#set zookeeper environment
export ZK_HOME=/usr/local/software/zookeeper-3.3.6
export PATH=$PATH:$ZK_HOME/bin

然后通过如下命令使得环境变量生效:

source /etc/profle
1.3 Zookeeper的集群的启动

 表示的zookeeper集群表示成功  

1.4 Zookeeper的集群配置问题

zookeeper 日志文件目录在:

dataDir 配置的目录下,文件名称为:zookeeper.out。通过查看日志来解决相应的问题。下面是两种常见的问题:

防火墙为关闭

查看防火墙状态:service iptables status

关闭防火墙:chkconfig iptables off

dataDir 配置的目录没有创建:

在 zoo.cfg 文件中,会有对 dataDir 的一项配置,需要创建该目录,并且注意要在该目录下创建 myid 文件,里面的配置和 zoo.cfg 的server.x 配置保持一致。

二、docker中构建Zookeeper集群环境(zookeeper3.4版本) 2.1 下载镜像
docker pull docker.io/zookeeper:3.4.13

2.2 安装docker compose插件
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2.3 镜像重命名
docker tag zookeeper:3.4.14 zookeeper-3.4.14
2.4 编写dokcer-compose.yml文件
version: '2'
services:
    zoo1:
        image: zookeeper-3.4.14
        restart: always
        container_name: zoo1
        ports:
            - "2181:2181"
        environment:
            ZOO_MY_ID: 1
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    zoo2:
        image: zookeeper-3.4.14
        restart: always
        container_name: zoo2
        ports:
            - "2182:2181"
        environment:
            ZOO_MY_ID: 2
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

    zoo3:
        image: zookeeper-3.4.14
        restart: always
        container_name: zoo3
        ports:
            - "2183:2181"
        environment:
            ZOO_MY_ID: 3
            ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
2.4 启动dokcer-compose.yml文件
docker-compose up -d

 2.5 检查是否启动成功
docker exec -it ID容器号 zkServer.sh status

 特别说明:这里是Zookeeper的3.4.14 但是的如果是3.6以上的话,请参考其他的博文。

2.6 操作Zookeeper的节点
docker exec -it 1a09f0f7abf7 /bin/bash
./zkCli.sh -server 127.0.0.1:2181

参考博文:

docker安装zookeeper集群_落叶飘零z的博客-CSDN博客_docker 安装zk集群

zookeeper 集群搭建 - YSOcean - 博客园

关注
打赏
1657692713
查看更多评论
立即登录/注册

微信扫码登录

0.0378s