docker快速搭建kafka集群

这篇具有很好参考价值的文章主要介绍了docker快速搭建kafka集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、准备工作

1、拉取kafka镜像

docker pull wurstmeister/kafka
docker tag docker.io/wurstmeister/kafka kafka
docker rmi docker.io/wurstmeister/kafka

2、拉取kafka可视化管理工具镜像

docker pull sheepkiller/kafka-manager
docker tag docker.io/sheepkiller/kafka-manager kafka-manager
docker rmi docker.io/sheepkiller/kafka-manager

3、安装docker-compose工具

# 升级 pip
pip3 install --upgrade pip

# 指定 docker-compose 版本安装
pip install docker-compose==1.22

# 验证是否安装成功,有返回值,说明安装成功
docker-compose -v

4、创建相关文件夹

mkdir -p /data/docker-compose/kafka
mkdir -p /data/docker-data/kafka

5、创建网络,用于kafka和zookeeper共享一个网络段

docker network create --driver bridge zookeeper_kafka_net

6、构建zookeeper集群

kafka集群需要用到zookeeper集群,因此需要先构建zookeeper集群,请查看文章

docker快速搭建zookeeper集群

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

1、创建docker-compose.yml

cd /data/docker-compose/kafka
vi docker-compose.yml

version: '3'

services:
  kafka1:
    image: kafka
    restart: always
    container_name: kafka1
    hostname: kafka1
    ports:
      - 9091:9092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ADVERTISED_HOST_NAME: kafka1
      KAFKA_ADVERTISED_PORT: 9091
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.78.200:9091
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    volumes:
      - /data/docker-data/kafka1/docker.sock:/var/run/docker.sock
      - /data/docker-data/kafka1/data:/kafka
    external_links:
      - zoo1
      - zoo2
      - zoo3

  kafka2:
    image: kafka
    restart: always
    container_name: kafka2
    hostname: kafka2
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ADVERTISED_HOST_NAME: kafka2
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.78.200:9092
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    volumes:
      - /data/docker-data/kafka2/docker.sock:/var/run/docker.sock
      - /data/docker-data/kafka2/data:/kafka
    external_links:
      - zoo1
      - zoo2
      - zoo3

  kafka3:
    image: kafka
    restart: always
    container_name: kafka3
    hostname: kafka3
    ports:
      - 9093:9092
    environment:
      KAFKA_BROKER_ID: 3
      KAFKA_ADVERTISED_HOST_NAME: kafka3
      KAFKA_ADVERTISED_PORT: 9093
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.78.200:9093
      KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    volumes:
      - /data/docker-data/kafka3/docker.sock:/var/run/docker.sock
      - /data/docker-data/kafka3/data:/kafka
    external_links:
      - zoo1
      - zoo2
      - zoo3

  kafka-manager:
    image: kafka-manager
    restart: always
    container_name: kafka-manager
    hostname: kafka-manager
    ports:
      - 9010:9000
    links:
      - kafka1
      - kafka2
      - kafka3
    external_links:
      - zoo1
      - zoo2
      - zoo3
    environment:
      ZK_HOSTS: zoo1:2181,zoo2:2181,zoo3:2181

注:links是引入当前docker-compose内部的service,external_links 引入的是当前docker-compose外部的service

2、执行构建

docker-compose up -d

3、将所有kafka和zookeeper加入一个网络

docker network connect zookeeper_kafka_net zoo1
docker network connect zookeeper_kafka_net zoo2
docker network connect zookeeper_kafka_net zoo3
docker network connect zookeeper_kafka_net kafka1
docker network connect zookeeper_kafka_net kafka2
docker network connect zookeeper_kafka_net kafka3
docker network connect zookeeper_kafka_net kafka-manager

之所以这样指定网络而不是在编排文件中指定网络为一个网络段的原因是因为考虑到后面可能kafka和zookeeper分布在6台机器上,到时使用docker swarm构建docker 集群,网络处理就很方便,不用修改编排文件

4、重启这组服务

因为为每台容器都新增了一个网络,如果不重启,容器用的还是之前的网络,就会导致kafka和kafka-manager是ping不通zookeeper的三个容器的

docker-compose restart

三、验证结果

浏览器访问kafka-manager管理界面

192.168.78.200:9010

docker kafka集群,docker,kafka,kafka,docker,kafka集群

说明kafka集群构建好了,并且kafka集群已经完成了和zookeeper集群的互通文章来源地址https://www.toymoban.com/news/detail-541939.html

到了这里,关于docker快速搭建kafka集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux安装搭建配置docker,mysql,nacos,redis哨兵集群,kafka,elasticsearch,kibana,IK分词器,安装Rabbitmq,安装并配置maven

    目录 搭建docker 1.2安装yum工具  1.3更新阿里镜像源 1.4下载docker 1.5关闭防火墙 1.6启动docker 1.7查看docker版本 1.8配置阿里云镜像 1.8.1 创建文件夹 1.8.2在文件夹内新建一个daemon.json文件 1.8.3重载文件 1.9重启docker 2安装MySQL 3安装nacos 3.1拉取nacos镜像并启动 3.2启动nacos命令 3.3命令敲完

    2024年02月03日
    浏览(56)
  • kafka-- kafka集群环境搭建

    成功标志

    2024年02月09日
    浏览(86)
  • 3台Centos7快速部署Kafka集群

    首先,我要说,Kafka 是强依赖于 ZooKeeper 的,所以在设置 Kafka 集群之前,我们首先需要设置一个 ZooKeeper 集群。 部署ZooKeeper需要安装jdk yum install java-1.8.0-openjdk 安装完以后 下面是详细的步骤: 1.1 下载 ZooKeeper: 1.2 解压缩: 1.3 在每台机器上创建 myid 文件,并存放在一个特定的

    2024年02月08日
    浏览(43)
  • Zookeeper 和 Kafka 工作原理及如何搭建 Zookeeper集群 + Kafka集群

    目录 1 Zookeeper 1.1 Zookeeper 定义 1.2 Zookeeper 工作机制 1.3 Zookeeper 特点 1.4 Zookeeper 数据结构 1.5 Zookeeper 应用场景 1.6 Zookeeper 选举机制 2 部署 Zookeeper 集群 2.1 安装前准备 2.2 安装 Zookeeper 3 Kafka 3.1 为什么需要消息队列(MQ) 3.2 使用消息队列的好处 3.3 消息队列的两种模式 3.4 Kafka 定义

    2024年02月08日
    浏览(41)
  • jdk+zookeeper+kafka 搭建kafka集群

    环境准备 环境资源包: jdk-8u341-linux-x64.tar.gz kafka_2.12-2.2.0.tgz zookeeper-3.4.14.tar.gz server-id ip 状态 server1 10.206.120.10 leader server2 10.206.120.2 follower server3 10.206.120.3 follower 一、安装jdk 因为kafka需要Java环境,所以优先配置jdk环境,若已经配置了java环境,此步骤可以忽略 二、zookeeper集群

    2024年02月04日
    浏览(38)
  • 【Kafka】docker部署Kafka集群

    目录 Kafka概述 Kafka集群docker部署流程 简述 环境准备 部署流程  参考文献           以下概述Kafka内的几个核心概念,可参考官方文档,有兴趣可读:kafka.apache.org Topic与日志         Topic 就是数据主题,是数据记录发布的地方,可以用来区分业务系统。Kafka 中的 Topics 总是

    2024年02月12日
    浏览(77)
  • kafka---- zookeeper集群搭建

    Hostname Ip Root Prac-zk-133 172.16.144.133 root Prac-zk-134 172.16.144.134 root Prac-zk-135 172.16.144.135 root 172.16.144.133 Prac-zk-133 172.16.144.134 Prac-zk-134 172.16.144.135 Prac-zk-135 zkServer.sh start-foreground 使用它启动会出现地址已在使用 Zookeeper启动失败(java.net.BindException: 地址已在使用 端口被占用了,把218

    2024年02月11日
    浏览(35)
  • Kafka之集群搭建

            单机服务下,Kafka已经具备了非常高的性能。TPS能够达到百万级别。但是,在实际工作中使用时,单机搭建的Kafka会有很大的局限性。         ​ 消息太多,需要分开保存。 Kafka是面向海量消息设计的,一个Topic下的消息会非常多,单机服务很难存得下来。这些

    2024年01月24日
    浏览(31)
  • Kafka 集群搭建过程

    跟着尚硅谷海哥文档搭建的Kafka集群环境,在此记录一下,侵删 注意:博主在服务器上搭建环境的时候使用的是一个服务器,所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误,如果你在搭建的过程中出现了错误,欢迎评论来访,我们一起解决。 准备三台服务器

    2024年02月12日
    浏览(25)
  • kafka集群搭建

    准备三台互通服务器(关闭防火墙) 192.168.203.136 192.168.203.137 192.168.203.138 一.搭建zookeeper集群 1、在/usr/local目录下解压安装包, tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz 链接:百度网盘 请输入提取码 提取码:bd2u 2、进入zookeeper目录下新建文件夹zkData mkdir zkData 3、进入conf目录下修改

    2024年02月01日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包