kafka的shell操作

Kafka 提供了豐富的 shell 命令工具,位于 Kafka 安裝目錄的?bin/?目錄下(Windows 系統為?bin/windows/)。這些命令用于管理主題、生產者、消費者、分區等核心組件。以下是常用的 Kafka shell 操作大全:

一、主題(Topic)操作

1. 創建主題
# 創建一個名為 test-topic 的主題,3個分區,2個副本
bin/kafka-topics.sh --bootstrap-server localhost:9092 \--create \--topic test-topic \--partitions 3 \--replication-factor 2

  • --bootstrap-server:指定 Kafka 集群地址(broker 列表)
  • --partitions:分區數量(提高并行度)
  • --replication-factor:副本數量(提高可用性,不能超過 broker 數量)
2. 查看所有主題
bin/kafka-topics.sh --bootstrap-server localhost:9092 \--list
3. 查看主題詳情
bin/kafka-topics.sh --bootstrap-server localhost:9092 \--describe \--topic test-topic

輸出包含分區數、副本分布、ISR(同步副本)等信息。

4. 修改主題(僅支持分區數增加)
bin/kafka-topics.sh --bootstrap-server localhost:9092 \--alter \--topic test-topic \--partitions 5  # 只能增加,不能減少
5. 刪除主題
bin/kafka-topics.sh --bootstrap-server localhost:9092 \--delete \--topic test-topic
  • 需確保?server.properties?中?delete.topic.enable=true(默認開啟)

二、生產者(Producer)操作

1. 啟動控制臺生產者
# 向 test-topic 發送消息(輸入內容后按回車發送)
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 \--topic test-topic
2. 帶鍵值對的生產者
# 發送格式為 "key:value" 的消息(需指定分隔符)
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 \--topic test-topic \--property "parse.key=true" \--property "key.separator=:"

輸入示例:user1:hello(key 為 user1,value 為 hello)

三、消費者(Consumer)操作

1. 啟動控制臺消費者(從最新消息開始消費)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \--topic test-topic
2. 從最早消息開始消費
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \--topic test-topic \--from-beginning
3. 消費指定分區的消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \--topic test-topic \--partition 0  # 消費第0個分區
4. 帶消費組的消費者
# 加入名為 test-group 的消費組
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \--topic test-topic \--group test-group

四、消費組(Consumer Group)操作

1. 查看所有消費組
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \--list
2. 查看消費組詳情
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \--describe \--group test-group

輸出包含:

  • 消費組 ID
  • 主題名稱
  • 分區分配情況
  • 當前消費偏移量(CURRENT-OFFSET)
  • 日志末尾偏移量(LOG-END-OFFSET)
  • 未消費消息數(LAG)
3. 重置消費組偏移量
# 將 test-group 對 test-topic 的偏移量重置為最早
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 \--group test-group \--topic test-topic \--reset-offsets \--to-earliest \--execute

其他重置選項:

  • --to-latest:重置到最新
  • --to-offset <offset>:重置到指定偏移量
  • --shift-by <number>:相對當前偏移量移動(正數向前,負數向后)

五、分區(Partition)操作

1. 查看分區 Leader 分布
# 結合主題詳情查看
bin/kafka-topics.sh --bootstrap-server localhost:9092 \--describe \--topic test-topic | grep "Leader:"

六、其他常用操作

1. 查看 broker 元數據
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092
2. 查看主題消息數量(近似值)
bin/kafka-run-class.sh kafka.tools.GetOffsetShell \--bootstrap-server localhost:9092 \--topic test-topic \--time -1  # -1 表示最新偏移量,-2 表示最早偏移量

計算總消息數:各分區最新偏移量之和。

七、Windows 系統注意事項

  • 所有?.sh?命令替換為?.bat(如?kafka-topics.bat
  • 路徑分隔符使用?\?而非?/

以上命令覆蓋了 Kafka 日常運維的核心場景,實際使用時需根據集群地址(--bootstrap-server)和具體需求調整參數。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90307.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90307.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90307.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

client-go: k8s選主

快速上手 下面這個代碼就是一個選主的大概邏輯 package mainimport ("context""flag""fmt"_ "net/http/pprof""os""path/filepath""time""golang.org/x/exp/rand"v1 "k8s.io/api/core/v…

為什么Java的String不可變?

為什么Java的String不可變&#xff1f; 場景&#xff1a; 你在開發多線程用戶系統時&#xff0c;發現用戶密碼作為String傳遞后&#xff0c;竟被其他線程修改。這種安全隱患源于對String可變性的誤解。Java將String設計為不可變類&#xff0c;正是為了解決這類核心問題。 1??…

在Ubuntu上使用QEMU學習RISC-V程序(1)起步第一個程序

文章目錄一、 引言二、 環境準備三、編寫簡單的RISC-V程序四、 編譯步驟詳解五、使用QEMU運行程序六、程序詳解七、退出QEMU八、總結附錄&#xff1a;QEMU中通過UTRA顯示字符工作原理1、內存映射I/O原理2、add.s程序工作流程3、關鍵指令解析4、QEMU模擬的UART控制器5、為什么不…

R擬合 | 一個分布能看到三個峰,怎么擬合出這三個正態分布的參數? | 高斯混合模型 與 EM算法

1. 效果已知數據符合上圖分布&#xff0c;怎么求下圖的三個分布的參數mu, sigma&#xff0c;及每個分布的權重 lambda&#xff1f; 2. 代碼: 高斯混合模型&#xff08;Gaussian Mixture Model&#xff0c;簡稱GMM&#xff09; library(mixtools) set.seed(123) # 確保結果可重復…

Excel自動分列開票工具推薦

軟件介紹 本文介紹一款基于Excel VBA開發的自動分列開票工具&#xff0c;可高效處理客戶對賬單并生成符合要求的發票清單。 軟件功能概述 該工具能夠將客戶對賬單按照訂單號自動拆分為獨立文件&#xff0c;并生成可直接導入發票清單系統的標準化格式。 軟件特點 這是一款體…

【自用】JavaSE--Stream流

概述獲取Stream流集合的stream流集合名.stream( );collection集合List集合與Set集合都屬于Collection集合&#xff0c;因此可以直接調用stream方法獲取stream流&#xff0c;示例如下結果>map集合map集合存在鍵值對&#xff0c;因此無法使用該方法直接獲取stream流&#xff0…

【Elasticsearch】快照與恢復功能詳解

《Elasticsearch 集群》系列&#xff0c;共包含以下文章&#xff1a; 1?? 冷熱集群架構2?? 合適的鍋炒合適的菜&#xff1a;性能與成本平衡原理公式解析3?? ILM&#xff08;Index Lifecycle Management&#xff09;策略詳解4?? Elasticsearch 跨機房部署5?? 快照與恢…

技嘉z370主板開啟vtx

技嘉z370vtx應該默認就是開啟狀態&#xff0c;雖然主板開啟的vtx但是系統默認設置會導致vtx不能使用 1. 關閉hyper-V,Windows虛擬機監控程序平臺,虛擬機平臺 控制面板->程序->啟用或關閉windows功能 2.以管理員身份運行CMD bcdedit /set hypervisorlaunchtype off 3.…

Springmvc的自動解管理

中央轉發器&#xff08;DispatcherServlet&#xff09;控制器視圖解析器靜態資源訪問消息轉換器格式化靜態資源管理一、中央轉發器Xml無需配置<servlet><servlet-name>chapter2</servlet-name><servlet-class>org.springframework.web.servlet.Dispatc…

C#_定時器_解析

問題一:這里加lock是啥意思?它的原理是, 為什么可以鎖住? private readonly Timer _timer;/// <summary>/// 構造函數中初始化定時器/// </summary>public FtpTransferService(){// 初始化定時器_timer new Timer(_intervalMinutes * 60 * 1000);_timer.Elapsed…

Trae開發uni-app+Vue3+TS項目飄紅踩坑

前情 Trae IDE上線后我是第一時間去使用體驗的&#xff0c;但是因為一直排隊問題不得轉戰Cursor&#xff0c;等到Trae出付費模式的時候&#xff0c;我已經辦了Cursor的會員&#xff0c;本來是想等會員過期了再轉戰Trae的&#xff0c;但是最近Cursor開始做妖了 網上有一堆怎么…

低代碼中的統計模型是什么?有什么作用?

低代碼開發平臺中的統計模型是指通過可視化配置、拖拽操作或少量代碼即可應用的數據分析工具&#xff0c;旨在幫助技術人員及非技術人員快速實現數據描述、趨勢預測和業務決策。其核心價值在于降低數據分析門檻&#xff0c;使業務人員無需深入掌握統計原理或編程技能&#xff0…

Linux 下在線安裝啟動VNC

描述 Linux中的VNC就類似于Windows中的遠程桌面系統 本文只記錄在Cent OS 7的系統下在線安裝VNC。 安裝VNC 1、安裝VNC yum install tigervnc-server2、配置VNC的密碼 為用戶設置 VNC 密碼&#xff08;首次運行會提示輸入&#xff0c;也可以提前輸入&#xff09; vncpasswd密碼…

支持OCR和AI解釋的Web PDF閱讀器:解決大文檔閱讀難題

支持OCR和AI解釋的Web PDF閱讀器&#xff1a;解決大文檔閱讀難題一、背景&#xff1a;為什么需要這個工具&#xff1f;問題場景解決方案二、技術原理&#xff1a;如何實現這些功能&#xff1f;1、核心技術組件2、工作流程3、關鍵點三、操作指南1、環境準備2、生成Html代碼3、We…

研發過程都有哪些

產品規劃與定義 (Product Planning & Definition) 在詳細的需求調研之前&#xff0c;通常會進行市場分析、競品分析、確立產品目標和核心價值。這個階段決定了“我們要做什么”以及“為什么要做”。 系統設計與架構 (System & Architectural Design) 這是開發的“藍圖”…

舊物回收小程序系統開發——開啟綠色生活新篇章

在當今社會&#xff0c;環保已經成為全球關注的焦點話題。隨著人們生活水平的提高&#xff0c;消費能力不斷增強&#xff0c;各類物品的更新換代速度日益加快&#xff0c;大量舊物被隨意丟棄&#xff0c;不僅造成了資源的巨大浪費&#xff0c;還對環境產生了嚴重的污染。在這樣…

UE5 UI 水平框

文章目錄slot區分尺寸和對齊方式尺寸&#xff1a;自動模式尺寸&#xff1a;填充模式對齊常用設置所有按鈕大小一致&#xff0c;不受文本影響靠右排列和unity的HorizontalLayout不太一樣slot 以在水平框中放入帶文字的按鈕為例 UI如下布置 按鈕的大小受slot的尺寸、對齊和內部…

【Golang】Go語言變量

Go語言變量 文章目錄Go語言變量一、Go語言變量二、變量聲明2.1、第一種聲明方式2.2、第二種聲明方式2.3、第三種聲明方式2.4、多變量聲明2.5、打印變量占用字節一、Go語言變量 變量來源于數學&#xff0c;是計算機語言中能存儲計算結果或能表示值抽象的概念變量可以通過變量名…

Qt WebEngine Widgets的使用

一、Qt WebEngine基本概念Qt WebEngine中主要分為三個模塊&#xff1a;Qt WebEngine Widgets模塊&#xff0c;主要用于創建基于C Widgets部件的Web程序&#xff1b;Qt WebEngine模塊用來創建基于Qt Quick的Web程序&#xff1b;Qt WebEngine Core模塊用來與Chromeium交互。網頁玄…

【C++】標準模板庫(STL)—— 學習算法的利器

【C】標準模板庫&#xff08;STL&#xff09;—— 學習算法的利器學習 STL 需要注意的幾點及 STL 簡介一、什么是 STL&#xff1f;二、學習 STL 前的先修知識三、STL 常見容器特點對比四、學習 STL 的關鍵注意點五、STL 學習路線建議六、總結七、下一章 vector容器快速上手學習…