docker搭建真机的kafka集群

docker搭建真机的kafka集群

使用docker搭建真机kafka集群

1、搭建zookeeper

首先搭建zookeeper、可以使用docker搭建zookeeper集群,如果是自己测试,可以在一台机器上使用docker搭建一个伪集群

这里贴一份单机上搭建zookeeper伪集群的docker-compose文档

docker-compose.yaml

version: '3.1'

services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    ports:
      - 42181:2181
    volumes:
      - ./zoo1/conf:/conf
      - ./zoo1/data:/data
      - ./zoo1/datalog:/datalog
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    ports:
      - 42182:2181
    volumes:
      - ./zoo2/conf:/conf
      - ./zoo2/data:/data
      - ./zoo2/datalog:/datalog
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zoo3:2888:3888;2181

  zoo3:
    image: zookeeper
    restart: always
    hostname: zoo3
    ports:
      - 42183:2181
    volumes:
      - ./zoo3/conf:/conf
      - ./zoo3/data:/data
      - ./zoo3/datalog:/datalog
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181

如果不用docker搭建真机的zookeeper集群,可以参考这篇文章:

2、搭建kafka真机集群

选择三台真机(如果是自己测试玩的,也可以用虚拟机了)

比如我选择真机是下面三台

192.168.0.1

192.168.0.2

192.168.0.3

那么需要分别在三台主机上创建下面三个文件

docker-compose.yaml

version: '3'

services:
  kafka:
    container_name: kafka_ai_1
    image: wurstmeister/kafka
    restart: always
    network_mode: "host"
    volumes:
      - ./kafka/logs:/kafka
    environment:
      - CLUSTER_NAME=KAFKA
      - KAFKA_ADVERTISED_HOST_NAME=<host_ip>
      - KAFKA_ADVERTISED_PORT=9092
      - KAFKA_ZOOKEEPER_CONNECT=<zk1>:42181,<zk2>:42182,<zk3>:42183
      - KAFKA_HOST_NAME=<host_ip>
      - KAFKA_BROKER_ID=1
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<host_ip>:9092
      - KAFKA_LISTENERS=PLAINTEXT://<host_ip>:9092
      - KAFKA_DELETE_TOPIC_ENABLE=true

上面的docker-compose不能直接使用,需要给<host_ip>具体的值,以及zookeeper集群的地址,如下:

<host_ip>:当前主机的ip

:zookeeper集群的第一个节点,端口也是一样

:zookeeper集群的第二个节点,端口也是一样

zookeeper集群的第三个节点,端口也是一样

container_name:你可以定义自己容易区分的名字

端口9092端口没有被占用的话,可以直接使用

另外如果有防火墙的,需要关闭防火墙,或者开启9092端口

3、测试

我这边测试使用的是kafka tool工具,下载地址:https://www.kafkatool.com/download.html
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111206.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月3日 下午9:00
下一篇 2021年8月3日 下午10:00


相关推荐

  • docker企业实战视频教程

    docker企业实战视频教程

    2022年2月9日
    45
  • docker 修改容器时间_jenkins docker持续集成

    docker 修改容器时间_jenkins docker持续集成前言用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间查看时间查看系统时间date-R进入docker容器内部,查看容器时间dockere

    2022年7月30日
    7
  • docker 导入导出镜像_docker拉取镜像到本地

    docker 导入导出镜像_docker拉取镜像到本地docker导入导出镜像文件:把某个docker镜像保存到本地文件,命令如下dockersave-o镜像名.tar原始镜像名(REPOSITORY项)导出$dockersave-o/root/images/jenkins_image.tarjenkins/jenkins:latest导入$dockerload</root/images/jenkins_image.tar导出镜像如果要存出镜像到本地文件,可以使用dockersave命令。例如,存出本地的ubu

    2025年9月17日
    11
  • docker命令详解「建议收藏」

    docker命令详解「建议收藏」镜像下载搜索镜像dockersearch+镜像名字#dockersearchcentos从DockerHub中搜索符合条件的镜像下载镜像#dockerpull+镜像名字#dockerpullcentos查看镜像#dockerimages开启网络转发功能(默认为开启状态)若无开启,可以使用以下命令开启#vim/etc/sysctl…

    2022年5月13日
    42
  • Docker暴露2375端口,引起安全漏洞

    Docker暴露2375端口,引起安全漏洞作者信息:廖煜,电子科技大学计算机和金融学双硕士,负责Ghostcloud的产品运营。曾任EMC西南区架构师。国内顶级Docker技术专家,Docker开源项目贡献者。拥有丰富的虚拟化、云计算和企业级软件经验。前几天有小伙伴发现Docker暴露出2375端口,引起了安全漏洞。我现在给大家介绍整个事情的来龙去脉,并告诉小伙伴们,怎么修复这个漏洞。为了实现集群管理,Docker提供了远程管理接…

    2022年6月5日
    53
  • 配置搭建阿里云Docker镜像仓库 (Aliyun Docker Repository)

    配置搭建阿里云Docker镜像仓库 (Aliyun Docker Repository)阿里云 docker 镜像仓库地址 阿里云镜像仓库具体操作如下 点击对应仓库右边的管理进入具体操作界面按照操作指南来即可

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号