总结说明 📖
因为学习kafka的过程中经常会用到一些命令, 但是有时候kafka我也不经常使用,命令就有可能忘记, 这里记录下来, 以后忘了可以再查, 这里需要说明的是
因为我用的CDH版的 kafka, 所以版本比较低, 我用的是1.0 的版本, 这个版本好像是没法用bootstrap-server 的,这里记录说明下
1. 创建 topic
# 特别注意 --前面要空一格 不然识别不出来这个参数
kafka-topics --create \
--zookeeper cm5:2181 \
--replication-factor 3 \
--partitions 1 \
--topic test
# 指定 --bootstrap-server
#(类似于zookeeper, 但是是kafka内置的,为了减小对zookeeper的依赖) 以及端口号
#--topic 定义 topic 名
#--replication-factor 定义副本数
#--partitions 定义分区数
补充 :
0.8以前的kafka,消费的进度(offset)是写在zk中的,所以consumer需要知道zk的地址。后来的版本都统一由broker管理,所以就用bootstrap-server了,bootstrap-server还可以自动发现其它的broker
参考 : Kafka学习笔记(3) -关于broker-list,bootstrap-server以及zookeeper 的一些理解
2.查看当前服务器中的所有 topic
# 注意 : kafka-topics 后面不能直接换行
kafka-topics --zookeeper cm5:2181 --list
3. 删除 topic
kafka-topics --delete --zookeeper cm5:2181 \
--topic test
注意 :
需要 server.properties 中设置 delete.topic.enable=true 否则只是标记删除
CDH 版的 默认勾选上的就是设置为 true
4. 发送消息
kafka-console-producer --broker-list cm5:9092 \
> --topic first
![](https://i-blog.csdnimg.cn/blog_migrate/2e69dbbf100e03640e2be6591f4054fb.png)
5. 消费消息
# 特别注意 --前面要空一格 不然识别不出来这个参数
kafka-console-consumer --bootstrap-server cm5:9092 \
--topic first \
--from-beginning
补充 :
--from-beginning: 会把主题中以往所有的数据都读取出来
6. 查看某个Topic 的详情
kafka-topics --describe \
--zookeeper cm5:2181 \
--topic first
7. 修改分区数
kafka-topics --zookeeper cm5:2181 \
--alter \
--topic first \
--partitions 4