docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
docker run -d --name kafka1 \-p 9092:9092 \-e KAFKA_BROKER_ID=0 \-e KAFKA_ZOOKEEPER_CONNECT=192.168.56.101:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.56.101:9092 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
docker run -d --name kafka2 \-p 9093:9093 \-e KAFKA_BROKER_ID=1 \-e KAFKA_ZOOKEEPER_CONNECT=192.168.56.101:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.56.101:9093 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
#先进入容器
docker exec -it kafka1 /bin/bash
#建立分区
kafka-topics.sh --create --zookeeper 192.168.56.101:2181 --replication-factor 1 --partitions 1 --topic topic1
创建名为 test
的 Topic
。
kafka-topics.sh -zookeeper 192.168.56.101:2181 --create --partitions 3 --replication-factor 1 --topic test
查询 Topic
列表
kafka-topics.sh --list --zookeeper 192.168.56.101:2181
删除Topic
kafka-topics.sh --delete --zookeeper 192.168.56.101:2181 --topic baiyan-test
查询 Topic
的信息
kafka-topics.sh --describe --zookeeper 192.168.56.101:2181 --topic test
注:如果未指定 topic
则输出所有 topic
的信息
生产者发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费者查询消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --group t1
查询名为 test
的 Topic
的消息。
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test --time -1
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test --time -2
–time-1 表示要获取指定 topic 所有分区当前的最大位移(历史总消息数),–time-2 表示获取当前最早位移(被消费的消息数),两个命令的输出结果相减便可得到所有分区当前的消息总数。
输出示例:test:0:3
第一个数字0表示分区,第二个数字3表示偏移量。
下一篇:chatgpt功能展示