前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker搭建真机的kafka集群

docker搭建真机的kafka集群

作者头像
全栈程序员站长
发布2021-08-05 11:09:30
3580
发布2021-08-05 11:09:30
举报
文章被收录于专栏:全栈程序员必看

使用docker搭建真机kafka集群

1、搭建zookeeper

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

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

docker-compose.yaml

代码语言:javascript
复制
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

代码语言:javascript
复制
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.cn/111206.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、搭建zookeeper
  • 2、搭建kafka真机集群
  • 3、测试
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档