docker 下搭建zookeeper+kafka集群

本文介绍了如何在单节点Docker环境下搭建Zookeeper和Kafka集群,包括集群规划、环境配置、遇到的问题及解决办法。通过修改容器配置、端口映射、环境变量设置,成功在有限的资源条件下实现了集群搭建。
摘要由CSDN通过智能技术生成

前言

最近在学docker,随着微服务的发展,服务直接部署到云主机上似乎有点浪费,于是容器化部署就被提出,并且发展迅速。学了docker总要练练,于是就学习了zookeeper和kafka,来用它们来搭建集群,在网上看了许多其他大神的博客,有多机器搭建集群,也有单节点搭建的伪集群,做了参考,我这里计划单节点搭建集群。话不多说,直接开始。

环境

CPU: 1核
内存: 2 GiB
操作系统: CentOS 7.4 64位
配置属实有点垃圾,租的便宜云主机,不过没关系,勉强够用。docker不是说启动容器占用的资源小吗,单个机器能起上千个吗。(当然不是我这个配置)

集群规划

因为只有一台机器,集群中的服务要映射到宿主机的不同端口。
zookeeper

zookeeper ip 宿主机端口->容器端口
zoo1 172.21.0.11 2184->2181
zoo2 172.21.0.12 2185->2181
zoo3 172.21.0.13 2186->2181

kafka

kafka ip 宿主机端口->容器端口
kafka1 172.21.0.14 9092->9092
kafka2 172.21.0.15 9093->9093
kafka3 172.21.0.16 9094->9094

kafka的默认端口是9092,容器端口都可以映射到9092,不过我在参考(搬运?)别人配置时,修改了kafka的环境变量,指定了kafka的端口,所以这里就这样配了。

搭建前的准备

安装docker,和docker-compose;拉取zookeeper,kafka镜像。

//安装前的配置
yum install -y yum-utils device-mapper-persistent-data lvm2 //安装前的配置
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//安装
yum install docker-ce
//安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose 
//拉取镜像
docker pull zookeeper
docker pull wurstmeister/kafka

创建名为zk的network

docker network create --driver bridge  --subnet=172.21.0.0/16 --gateway 172.21.0.1  zk

查看
查看我们新建的network

搭建zookeeper集群

使用docker-compose快速搭建zookeeper集群
zk-compose.yml

version: '3.4'
services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    container_name: zoo1
    ports:
    - 2184:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值