Message-Queuing
如何從 Apache Pulsar 主題中刪除所有消息?
有沒有辦法使用 Pulsar 命令行工具來刪除某個主題的所有消息?它還沒有任何訂閱,據我所知,執行此操作的工具在訂閱上執行。在啟動使用該主題的服務之前,我需要擺脫舊垃圾。
@David Tinker,請試試這個刪除主題命令:
$ pulsar-admin persistent delete persistent://test-tenant/ns1/tp1
在執行之前,應該沒有任何活動的訂閱或生產者連接到它。如果主題已連接訂閱和生產者,並且您確實關心現有數據,則可以--force
在最後添加。刪除該主題後,生產者在生產數據時會重新連接並自動創建同名主題。
請參閱文件。
列出主題:
pulsar-admin persistent list tenant/namespace
然後刪除它們:
pulsar-admin topics delete "persistent://tenant/namespace/topic
或者:
pulsar-admin topics delete "persistent://tenant/namespace/topic" --force
您可以通過以下方式檢查訂閱者:
pulsar-admin persistent subscriptions "persistent://tenant/namespace/topic"
您可以使用(輸出的發布者部分)檢查發布者:
pulsar-admin topics stats "persistent://tenant/namespace/topic"
如果您使用 force 選項,請注意任何已連接的發布者可能會立即重新創建主題。