创建一个topic (使用代码次步可省略)
kafka 设置分区数量
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
# 单机方式
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
# 单机方式
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.106.129:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.106.129:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
# 进入容器
docker exec -it ${CONTAINER ID} /bin/bash
cd opt/kafka/bin
# 单机方式:创建一个主题
bin/kafka-topics.sh --create --zookeeper 192.168.106.129:2181 --replication-
factor 1 --partitions 1 --topic mykafka
# 测试
# 运行一个生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
# 运行一个消费者
bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic mykafka --from-
beginning
# 分区数量的作用:有多少分区就能负载多少个消费者,生产者会自动分配给分区数据,每个消费者只消费自己
分区的数据,每个分区有自己独立的 offset
# 进入 kafka 容器
vi opt/kafka/config/server.properties
修改 run.partitions=2
# 退出容器
ctrl+p+q
# 重启容器
docker restart kafka
# 修改指定 topic
./kafka-topics.sh --zookeeper localhost:2181 --alter --partitions 3 --topic
topicname 使用
https://cloud.tencent.com/developer/article/1542310
spring:
kafka:
producer:
bootstrap-servers: 192.168.106.129:9092
bootstrap-servers: 192.168.106.129:9092 # 解决个启动警告