使用docker-compose运行kafka及验证(无需zookpeer)

前言:要求安装docker-compose

kafka镜像版本:apache/kafka:3.8.0

可能存在镜像拉不下来的情况:

1、vim /etc/docker/daemon.json

{
  "data-root":"/data/docker",
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://iju9kaj2.mirror.aliyuncs.com",
        "http://hub-mirror.c.163.com",
        "https://cr.console.aliyun.com",
        "https://hub.docker.com",
        "http://mirrors.ustc.edu.cn"
  ]
}

2、编辑好后执行如下两条命令使修改的文件生效

systemctl daemon-reload
systemctl restart docker

1、编辑docker-compose.yml

修改KAFKA_ADVERTISED_LISTENERS中的ip地址

version: '3'
services:
  kafka:
    image: apache/kafka:3.8.0
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_NODE_ID: 1
      KAFKA_PROCESS_ROLES: broker,controller
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://xxx本机ipxxx:9092
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_NUM_PARTITIONS: 3

2、启动

#启动
docker-compose up -d
#停止
docker-compose down
docker-compose stop

3、验证

这边使用的是xshell,打开两个窗口A和B:

A窗口
  1. 进入kafka容器内
docker exec --workdir /opt/kafka/bin/ -it kafka sh
  1. 创建topic
./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test-topic
  1. 进入生产者控制台,输入要发送的消息

这边写入 ni hao

./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic

在这里插入图片描述

B窗口
  1. 进入kafka容器内
docker exec --workdir /opt/kafka/bin/ -it kafka sh
  1. 打开消费者控制台:自动接收生产者的消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值