本地使用Docker部署kafka

本地Kafka部署教程

工作目录

mkdir onlineinternship

cd onlineinternship

准备docker-compose

KAFKA_ADVERTISED_LISTENERS 为客户端调用kafka时使用的端口

可以是localhost(也就是127.0.0.1),也可以是本机局域网IP等

docker-compose.yml

"""

version: '2'

services:

zookeeper:

image: wurstmeister/zookeeper

ports:

  • "2181:2181"

kafka:

image: wurstmeister/kafka

ports:

  • "9092:9092"

environment:

KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092

KAFKA_LISTENERS: PLAINTEXT://:9092

KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

volumes:

  • /var/run/docker.sock:/var/run/docker.sock

"""

执行

"""

docker-compose up -d

docker ps

"""

如果看到两个容器onlineinternship_kafka_1, onlineinternship_zookeeper_1 说明成功了

create topic

"""

docker exec onlineinternship_kafka_1

kafka-topics.sh

--create --topic test

--partitions 1

--zookeeper zookeeper:2181

--replication-factor 1

"""

topic list

"""

docker exec onlineinternship_kafka_1

kafka-topics.sh --list

--zookeeper zookeeper:2181

"""

如果看到test说明成功了

consume

"""

docker exec -it onlineinternship_kafka_1

kafka-console-consumer.sh

--topic test

--bootstrap-server localhost:9092

"""

打开一个consumer等待消息

produce

"""

docker exec -it onlineinternship_kafka_1

kafka-console-producer.sh

--topic test

--broker-list localhost:9092

"""

试着发送一条消息

没错误就是成功了

看看consumer是不是有结果

在Go中调用

使用localhost:9092

"""

kafka.NewProducer(&kafka.ConfigMap{"bootstrap.servers": "localhost:9092"})

"""

你可能感兴趣的:(本地使用Docker部署kafka)