1.server.properties配置
在創建topic時候設置參數,會覆蓋server.properties的相同屬性的配置
log.retention.bytes=xxx
topic每個分區的最大文件大小,一個topic的大小限制 = 分區數*log.retention.bytes。-1沒有大小限制 log.retention.bytes和log.retention.minutes任意一個達到要求,都會執行刪除,會被topic創建時的指定參數覆蓋
log.retention.hours=168
數據存儲的最大時間超過這個時間會根據log.cleanup.policy設置的策略處理數據,也就是消費端能夠多久去消費數據
log.retention.bytes和log.retention.minutes達到要求,都會執行刪除,會被topic創建時的指定參數覆蓋
2.查看所有的topic
export JMX_PORT=10055 && ./kafka-topics.sh --list --zookeeper zookeeper01:2181
3.查看topic詳細描述
export JMX_PORT=10055 && ./kafka-topics.sh --describe --zookeeper zookeeper01:2181 --topic xxxx
4.修改對應的topic的保存時長
假設是3天
retention.ms這個參數是毫秒數,需要轉一下
export JMX_PORT=10055 && ./kafka-topics.sh --zookeeper zookeeper01:2181 -topic xxxx --alter --config
retention.ms=259200000
5.如果報錯rmi 7088錯誤
如果命令不加export JMX_PORT=10055 會使用進程配置好的端口7088
注釋掉這個,因為接受和發送7088端口沖突了
-Dcom.sun.management.jmxremote.rmi.port=7088
所以執行的時候先傳入一個變量export JMX_PORT=10055
可以看kafka-run-class.sh中
if [ $JMX_PORT ]; then
KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
fi