Kafka Swarm 集群搭建

本文主要记录,使用docker Swarm搭建的Kafka分布式集群。
前提:四台Docker swarm集群服务器,已经创建完成,并且安装docker 与docker compose。
直接上compose文件,亲验可行,官方的docker compose供参考 https://github.com/wurstmeister/kafka-docker
docker info | grep ^Name: | cut -d’ ’ -f 2 获取主机名,在我的容器里面好像不能用,一直报错,注册zk失败。
docker info | grep ‘Node Address’ | cut -d’ ’ -f 4 --使用获取主机地址后就可以了。添加了kafka-manager 的服务部署。

version: '3.2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    #environment:
    #  ZOO_SERVERS: server.0=172.126.1.22:2888:3888;2181 server.1=172.126.1.31:2888:3888;2181 server.2=172.126.1.32:2888:3888;2181 server.3=172.126.1.33:2888:3888;2181
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:latest
    ports:
      - target: 9094
        published: 9094
        protocol: tcp
        mode: host
    environment:
      #HOSTNAME_COMMAND: "docker info | grep ^Name: | cut -d' ' -f 2"  使用的主机名
      HOSTNAME_COMMAND: "docker info | grep 'Node Address' | cut -d' ' -f 4"  #使用Ip地址
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://_{HOSTNAME_COMMAND}:9094
      KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      KAFKA_CREATE_TOPICS: "test:1:1"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    deploy:
      mode: global
  kafka-manager:
    image: sheepkiller/kafka-manager
    ports:
      - "9012:9000"
    depends_on:
      - zookeeper
    environment:
      - ZK_HOSTS=zookeeper:2181

部署方式:docker stack deploy --compose-file=kafka-docker-compose.yml tools

效果:可以看到有四个Broker。
在这里插入图片描述
随机关掉一台服务器,也不影响正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值