一:create
1.开始使用命令
2.创建
bin/kafka-topics.sh --create --topic beifeng --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka --replication-factor 3 --partitions 4
成功效果:
3.参数说明
create:表示创建动作
topic:指定创建的名称
zookeeper:指定连接kafka集群的zk的配置url
partitions:给定当前topic的分区数量,一般是broker数量*(1~1.5倍)
replication-factor:一般建议是3个,副本数
4.变化情况
ZK:
二:list,sescribe
1.config
当前topic生效的参数,会覆盖掉broker中定义的参数的变量值。
具体参数,可以参照官网。
2.再次创建一个topic
bin/kafka-topics.sh --create --topic beifeng0 --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka --replication-factor 3 --partitions 4 --config segment.bytes=102400 --config max.message.bytes=10000
效果:
3.列出kafka所有topic名称
bin/kafka-topics.sh --list --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka
4.列出具体topic的描述信息
bin/kafka-topics.sh --describe --topic beifeng0 --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka
三:alter
1.修改配置信息
bin/kafka-topics.sh --alter --topic beifeng0 --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka --config max.message.bytes=100000
2.效果
3.删除配置信息
bin/kafka-topics.sh --alter --topic beifeng0 --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka --delete-config max.message.bytes
使用--delete-config
这个是成功的,具体信息的截图就不粘贴了。
4.增加分区
bin/kafka-topics.sh --alter --topic beifeng0 --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka --partitions 5
5.不能减少分区
因为kafka的特性。
topic中的数据在每个分区中是有序的与不可变的。
减少分区需要将数据进行重新排序,所以不支持。
6.replication-factor不能修改
备份因子数量不可以修改
四:delete
1.说明
kafka默认情况下,不支持通过delete参数删除对应的topic
内部是一种标记删除的操作,实际上没有删除。
2.两种方式
3.第一种方式
修改kafka服务参数。
delete.topic.enable=true
然后删除
bin/kafka-topics.sh --delete --topic beifeng0 --zookeeper linux-hadoop01.ibeifeng.com:2181/kafka
4.手动删除zk与磁盘中的对应的topic目录
zk目录::/kafka/brokers/topics/beifeng0
命令:rmr /kafka/brokers/topics/beifeng0
rmr /kafka/config/topics/beifeng0
本地文件:${log.dir}/beifeng0-*
命令:rm -r data/*/beifeng0*