1,在cm上查询kafka数据目录:
log.dirs:/var/local/kafka/data
2,查看目录下各子目录占用空间大小情况,过滤上G的topic数据
du -sh * | sort -nr | grep 'G' | grep 'channel'

3,修改topic数据的的有效期命令,优化
kafka-topics --zookeeper zk1:2181 -topic topicname --alter --config retention.ms=86400000
4,删除kafka相关的数据目录,删除之前,先关闭写入kafka的相关服务如flume,删除磁盘占用空间过大的数据目录,此处主要是flume_*_channel_*所占用的目录
rm -rf /var/local/kafka/data/flume_packet_channel-*
5,删除kafka topic
(1)查询flume管道相关的channel:kafka-topics --list --zookeeper 10.11.1.1:2181,10.11.1.2:2181

(2)删除对应管道topic
kafka-topics --zookeeper 10.11.1.1:2181,10.11.1.2:2181 --delete --topic flume_forward_channel
kafka-topics --zookeeper 10.11.1.1:2181,10.11.1.2:2181 --delete --topic flume_offline_channel
kafka-topics --zookeeper 10.11.1.1:2181,10.11.1.2:2181 --delete --topic flume_packet_channel
kafka-topics --zookeeper 10.11.1.1:2181,10.11.1.2:2181 --delete --topic flume_realInfo_es_channel
kafka-topics --zookeeper 10.11.1.1:2181,10.11.1.2:2181 --delete --topic flume_realInfo_redis_17691_channel
kafka-topics --zookeeper 10.11.1.1:2181,10.11.1.2:2181 --delete --topic flume_todayExpire_channel
删除完成后,会有“marked for deletion”标记,需要去zookeeper删除源数据信息,如图:

5,删除zookeeper相关的路径
(1)登录zookeeper客户端:命令:
./bin/zookeeper-client或者zookeeper-client
(2)找到topic所在的目录:
ls /brokers/topics
(3)找到要删除的topic,执行命令:
rmr /brokers/topics/topic name
即可,此时topic被彻底删除。
另外被标记为marked for deletion的topic你可以在zookeeper客户端中通过命令获得:ls /admin/delete_topics/topic name,如果你删除了此处的topic,那么marked for deletion 标记消失完成
rmr /brokers/topics/flume_forward_channel
rmr /brokers/topics/flume_offline_channel
rmr /brokers/topics/flume_packet_channel
rmr /brokers/topics/flume_realInfo_es_channel
rmr /brokers/topics/flume_realInfo_redis_17691_channel
rmr /brokers/topics/flume_todayExpire_channel
(4)重启zookeeper和kafka可以用下面命令查看相关的topic还在不在,此时以上步骤都操作没问题的话,被标记为“marked for deletion”的topic将消失,CM 上重启即可
kafka-topics --list --zookeeper 10.11.1.1:2181,10.11.1.2:2181
端口占用:
netstat -alnp | grep xxxx
kill -9 pid