【Docker中Kafka+Zookeeper基本命令使用】
知识回顾:
上次我们学习了【Docker安装部署Kafka+Zookeeper详细教程】,有问题的可以先看一下上节课的文章,再进行接下来的学习,一点都不耽误呦!
当你看了上节课的文章后,这节课我们来学习一下【Docker中Kafka+Zookeeper基本命令使用】,你准备好了吗?要发车了,出发啦!!!
Kafka基本命令使用
进入kafka容器
docker exec -it kafka_zookeeper /bin/bash
找到kafka的bin目录(注意)
cd /opt/kafka/bin
对topic进行创建
先查看一下zookeeper中对应节点是否存储了信息:
[zk: localhost:2181(CONNECTED) 0] ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /brokers
[ids, seqid, topics]
[zk: localhost:2181(CONNECTED) 2] ls /brokers/topics
[]
[zk: localhost:2181(CONNECTED) 3]
此时没有任何信息:
接下来创建一个topic:
kafka-topics.sh --create --topic topic_example_1 --zookeeper zookeeper_kafka:2181 --replication-factor 1 --partitions 1
参数说明
--zookeeper 表示ZK地址,可以传递多个,用逗号分隔 IP:PORT,IP:PORT,IP:PORT/kafka
zookeeper中的ip地址是和容器的名称对应的,写你对应的容器名称就可以。。。
--replication-factor 表示副本数量,这里的数量是包含Leader副本和Follower副本,副本数量不能超过代理数量
--partitions 表示主题的分区数量,必须传递该参数。Kafka的生产者和消费者采用多线程并行对主题的消息进行处理,每个线程处理一个分区,分区越多吞吐量就会越大,但是分区越多也意味着需要打开更多的文件句柄数量,这样也会带来一些开销。
接下来再次进入zookeeper容器中,查看我们刚才创建的topic_example_1,此时已经保存到了zookeeper节点中,对应的节点中并保存了相关的信息。
[zk: localhost:2181(CONNECTED) 3] ls /brokers/topics
[topic_example_1]
[zk: localhost:2181(CONNECTED) 4] get /brokers/topics/topic_example_1
{"partitions":{"0":[0]},"topic_id":"_TCoNxYpTHGInbmgVme-CA","adding_replicas":{},"removing_replicas":{},"version":3}
[zk: localhost:2181(CONNECTED) 5]
最后结果清晰的展示到了这张图片中:
对topic进行查询
执行命令:
kafka-topics.sh --zookeeper zookeeper_kafka:2181 --list
结果展示:
对topic进行删除
执行命令
kafka-topics.sh --zookeeper zookeeper_kafka:2181 --delete --topic topic_example_1
结果展示(删除后再次查询没有):
对topic的信息进行获取
执行命令:
kafka-topics.sh --zookeeper zookeeper_kafka:2181 --describe --topic topic_example_1
结果查询:
生产者发送消息、消费者消费消息
生产者发送消息命令:
kafka-console-producer.sh --broker-list localhost:9092 --topic topic_example_1
消费者接受消息命令:
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_example_1
生产者生产消息、消费者接受消息结果展示:
发送消息:
接受消息:
好了,到这里【Docker中Kafka+Zookeeper基本命令使用】就结束了,你学废了吗?持续创作中!!!