刪除rocketmq堆積消息和topic等

 

 

 

刪除rocketmq堆積消息和topic等

 

1. 停止 rocketmq:

    優雅方法: 終端下  sh /mq安裝目錄/rocketmq-4.7.0/bin/mqshutdown broker
    粗暴方法: kill -9 幹掉所有broker就好

 

2. 查看mq配置文件, 瞭解mq日誌路徑

    cat  /mq安裝目錄/rocketmq-4.7.0/conf/broker.conf   
    或者   
    cat /mq安裝目錄/rocketmq-4.7.0/conf/2m-2s-async/broker-a.properties
    關注裏面的storePathRootDir, storePathCommitLog字段配置的日誌路徑

 

2. 根據日誌路徑, 刪除mq日誌      

    rm -rf /mq安裝目錄/rocketmq-4.7.0/logs/* 

 

3. 根據日誌路徑, 刪除MQ堆積topic等信息     

    rm -rf /mq安裝目錄/rocketmq-4.7.0/store/* 
    理論上到這裏已經順利清空rocketmq堆積消息和topic等, 只要重啓mq即可

 

4. 重啓MQ

    sh /mq安裝目錄/rocketmq-4.7.0/bin/mqbroker -c /mq安裝目錄/rocketmq-4.7.0/conf/2m-2s-async/broker-m.properties 

 

5. [可選] 清空MQ裏顯示的topic         

    經過上一步後, 消息已經全部刪除了, 雖然這裏還是可以查詢得了, 但是業務系統在收發消息時會報錯, 需要手工新建topic和消費者才行, 所以爲了避免干擾, 建議把顯示的實際被刪掉    的消息也清理掉

    如果安裝了RocketMQ-Console, 可以在前端頁面上操作刪除topic, 否則也可以下面命令
    查詢所有topic    sh /mq安裝目錄/rocketmq-4.7.0/bin/mqadmin topicList -n 127.0.0.1:9876           
    刪除實際被刪Topic    sh /mq安裝目錄/rocketmq-4.7.0/bin/mqadmin deleteTopic -c HOSTNAME -n 127.0.0.1:9876  -t topic123


注意事項: 

1. 先停掉rocketmq和清空順序很關鍵;如果沒有都清楚,rocketmq不知道從哪裏還會把所有積攢的再加載回來,導致還是無法啓動rocketmq
2. deleteTopic不是必須的,但是刪除的時候一般都需要制定 -c,可以用hostname試試

 


參考: 如何清空rocketmq消息(包括堆積消息) - tantexian的博客空間 - OSCHINA
https://my.oschina.net/tantexian/blog/703785

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章