【kafka】基本命令

創建 Kafka Topic 的命令

以下是創建 Kafka Topic 的幾種常用方法:

1. 使用 kafka-topics.sh 基礎命令(Kafka 自帶工具)

bin/kafka-topics.sh --create \--bootstrap-server <broker地址:端口> \--topic <topic名稱> \--partitions <分區數> \--replication-factor <副本數>
bin/kafka-topics.sh --create \--bootstrap-server localhost:9092 \--topic my_new_topic \--partitions 3 \--replication-factor 2

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test01_topic --partitions 2 --replication-factor 2

2. 帶額外配置的創建命令

bin/kafka-topics.sh --create \--bootstrap-server localhost:9092 \--topic my_config_topic \--partitions 5 \--replication-factor 1 \--config retention.ms=172800000 \--config segment.bytes=1073741824

3. 使用 ZooKeeper 的舊版命令(Kafka 2.2 之前版本)

bin/kafka-topics.sh --create \--zookeeper localhost:2181 \--topic legacy_topic \--partitions 2 \--replication-factor 1

4. 使用 Kafka API (Java) 創建 Topic

Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
AdminClient admin = AdminClient.create(props);NewTopic newTopic = new NewTopic("my_api_topic", 3, (short) 1);
newTopic.configs(Map.of("retention.ms", "86400000"));CreateTopicsResult result = admin.createTopics(Collections.singletonList(newTopic));
result.all().get(); // 等待創建完成

5. 驗證 Topic 是否創建成功

bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-topics.sh --describe --topic my_new_topic --bootstrap-server localhost:9092

常用配置參數

可以在創建時通過?--config?指定:

  • retention.ms?- 消息保留時間(毫秒)

  • `segment.bytes

查看 Kafka 所有 Topic 的命令

以下是幾種查看 Kafka 中所有 Topic 的常用方法:

1. 使用 kafka-topics.sh 基礎命令(推薦)

bin/kafka-topics.sh --list --bootstrap-server <broker地址:端口>
bin/kafka-topics.sh --list --bootstrap-server localhost:9092

2. 查看所有 Topic 的詳細信息(包括分區、副本等)

bin/kafka-topics.sh --describe --bootstrap-server <broker地址:端口>
bin/kafka-topics.sh --describe --bootstrap-server localhost:9092

3. 使用 ZooKeeper 的舊版命令(Kafka 2.2 之前版本)

bin/kafka-topics.sh --list --zookeeper <zookeeper地址:端口>
bin/kafka-topics.sh --list --zookeeper localhost:2181

4. 使用 kafkacat 工具

kafkacat -L -b <broker地址:端口>
kafkacat -L -b localhost:9092

5. 使用 Kafka API (Java)

Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
AdminClient admin = AdminClient.create(props);ListTopicsResult topics = admin.listTopics();
Set<String> topicNames = topics.names().get();topicNames.forEach(System.out::println);

6. 查看包含內部 Topic 的所有 Topic(如 __consumer_offsets)

bin/kafka-topics.sh --list --bootstrap-server localhost:9092 --exclude-internal

7. 使用正則表達式過濾 Topic

bin/kafka-topics.sh --list --bootstrap-server localhost:9092 | grep "your_pattern"

注意事項

  1. 新版本 Kafka(2.2+)推薦使用?--bootstrap-server?而不是?--zookeeper

  2. 生產環境中可能需要添加認證參數,如:

    bin/kafka-topics.sh --list --bootstrap-server localhost:9092 --command-config admin.properties
  3. 對于大型集群,列出所有 Topic 可能需要一些時間

查看 Kafka Topic 分區信息的命令

以下是幾種查看 Kafka Topic 分區信息的常用方法:

1. 使用 kafka-topics.sh 工具(Kafka 自帶)

bin/kafka-topics.sh --describe --topic <topic名稱> --bootstrap-server <broker地址:端口>
bin/kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092

2. 查看所有 topic 的分區信息

bin/kafka-topics.sh --list --bootstrap-server <broker地址:端口>
bin/kafka-topics.sh --describe --bootstrap-server <broker地址:端口>

bin/kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092
?

3. 使用 kafkacat 工具

kafkacat -L -b <broker地址:端口> -t <topic名稱>

4. 使用 Kafka API (Java)

Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
AdminClient admin = AdminClient.create(props);DescribeTopicsResult result = admin.describeTopics(Collections.singletonList("my_topic"));
TopicDescription description = result.all().get().get("my_topic");description.partitions().forEach(partition -> {System.out.println("Partition: " + partition.partition());System.out.println("Leader: " + partition.leader());System.out.println("Replicas: " + partition.replicas());System.out.println("ISR: " + partition.isr());
});

輸出信息解釋

Topic: my_topic	PartitionCount: 3	ReplicationFactor: 2	Configs:Topic: my_topic	Partition: 0	Leader: 1	Replicas: 1,2	Isr: 1,2Topic: my_topic	Partition: 1	Leader: 2	Replicas: 2,0	Isr: 2,0Topic: my_topic	Partition: 2	Leader: 0	Replicas: 0,1	Isr: 0,1

其中:

  • PartitionCount: 分區總數

  • ReplicationFactor: 副本因子數

  • Leader: 負責該分區讀寫的主 broker

  • Replicas: 該分區的所有副本所在的 broker

  • Isr: 同步中的副本(In-Sync Replicas)

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

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

相關文章

編程速遞:適用于 Delphi 12.3 的 FMX Linux 現已推出

Embarcadero非常高興地宣布&#xff0c;用于使用Delphi構建Linux客戶端應用程序的FMX Linux UI庫再次在RAD Studio 12.3版本以及RAD Studio 12.2版本中提供支持&#xff0c;同時也適用于更早的版本。 作為RAD Studio的一個附加庫&#xff0c;FMX Linux為開發面向Linux的圖形用…

通過實例講解螺旋模型

目錄 一、螺旋模型的核心概念 二、螺旋模型在電子商城系統開發中的應用示例 第 1 次螺旋:項目啟動與風險初探

vue3 vite 路由

如路由是這種格式 http://localhost:7058/admin/product/brand路由配置如下 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue import NProgress from nprogress; import nprogress/nprogress.css; import {errorRour…

【Redis】Hash 存儲相比 String 存儲的優勢

在 Redis 中&#xff0c;Hash 存儲相比 String 存儲具有以下 優勢&#xff0c;特別適用于某些特定場景&#xff1a; ? 1. 更節省內存&#xff08;尤其適合存儲對象&#xff09; Hash 內部使用壓縮列表&#xff08;ziplist&#xff09;或哈希表實現&#xff0c;在數據量較小時…

CSS詳解:特性、選擇器與優先級

CSS詳解&#xff1a;特性、選擇器與優先級 目錄 CSS詳解&#xff1a;特性、選擇器與優先級一、CSS的核心特性1. 層疊性&#xff08;Cascading&#xff09;2. 繼承性&#xff08;Inheritance&#xff09;3. 優先級&#xff08;Specificity&#xff09;4. 響應式設計5. 動畫與過渡…

《算法導論(第4版)》閱讀筆記:p86-p90

《算法導論(第4版)》學習第 19 天&#xff0c;p83-p85 總結&#xff0c;總計 3 頁。 一、技術總結 無。 二、英語總結(生詞&#xff1a;2) 1. inkling (1)inkling: inclen(“utter in an undertone&#xff0c;低聲說話”) c. a hint(提示)&#xff1b;a slight knowledg…

nginx概念及使用

一、Nginx 核心概念 Nginx&#xff08;發音為 "engine-x"&#xff09;是一個高性能、開源的 Web 服務器和反向代理服務器&#xff0c;由俄羅斯工程師伊戈爾?賽索耶夫&#xff08;Igor Sysoev&#xff09;于 2004 年開發&#xff0c;最初用于解決當時高并發場景下 Ap…

2025藍橋杯JAVA編程題練習Day8

1. 路徑 題目描述 小藍學習了最短路徑之后特別高興&#xff0c;他定義了一個特別的圖&#xff0c;希望找到圖 中的最短路徑。 小藍的圖由 2021 個結點組成&#xff0c;依次編號 1 至 2021。 對于兩個不同的結點 a, b&#xff0c;如果 a 和 b 的差的絕對值大于 21&#xff0…

【趙渝強老師】Memcached的路由算法

Memcached支持兩種不同方式的客戶端路由算法&#xff0c;即&#xff1a;求余數Hash算法和一致性Hash算法。下面分別進行介紹。 一、 求余數的路由算法 求余數Hash算法的客戶端路由是對插入數據的鍵進行求余數&#xff0c;根據余數來決定存儲到哪個Memcached實例。 視頻講解如…

NLP學習路線圖(一): 線性代數(矩陣運算、特征值分解等)

引言&#xff1a;語言與矩陣的奇妙邂逅 在自然語言處理&#xff08;NLP&#xff09;的魔法世界里&#xff0c;每個詞語都像被施了變形術的精靈&#xff0c;在數學的殿堂中翩翩起舞。當我們用"king - man woman queen"這樣的向量魔法破解語義密碼時&#xff0c;線性…

BUUCTF PWN刷題筆記(持續更新!!)

ciscn_2019_c_1 64位&#xff0c;沒有開啟保護。點進去沒發現明顯的漏洞函數&#xff0c;考慮泄露libc基地址的rop構造。先看看有多少gadget 估計也夠用了。puts函數只接受一個參數&#xff0c;觀看匯編看看用的哪個寄存器傳輸的參數。 用的是edi。但是我們怎么找到so的版本呢…

Java EE初階——線程安全

1. 線程的狀態 1. 線程狀態分類&#xff08;Thread.State 枚舉&#xff09; Java 定義了 6 種線程狀態&#xff0c;這些狀態均由 java.lang.Thread.State 枚舉表示&#xff1a; NEW&#xff08;新建&#xff09; 線程對象已創建&#xff0c;但尚未調用 start() 方法。此時線程…

Vue 3.0中響應式依賴和更新

響應式依賴和更新是Vue 3.0中最重要的機制&#xff0c;其核心代碼如下&#xff0c;本文將結合代碼對這個設計機制作出一些解釋。 // 全局依賴存儲&#xff1a;WeakMap<target, Map<key, Set<effect>>> const targetMap new WeakMap();// 當前活動的副作用函…

一、內存調優

一、內存調優 什么是內存泄漏 監控Java內存的常用工具 內存泄露的常見場景 內存泄露的解決方案 內存泄露與內存溢出的區別 內存泄露&#xff1a;在Java中如果不再使用一個對象&#xff0c;但是該對象依然在GC ROOT的引用鏈上&#xff0c;這個對象就不會被垃圾回收器回收&…

Linux /etc/rc.d/init.d/

在傳統的 SysV init 系統中&#xff0c;服務啟動腳本通常位于 /etc/rc.d/init.d/ 目錄下。這些腳本可以直接執行以啟動、停止或重啟服務&#xff0c;并且可以接受參數如 start, stop, status 等。 如果你想知道位于 /etc/rc.d/init.d/ 目錄下的某個腳本文件實際上指向哪里,如果…

S7 200 smart連接Profinet轉ModbusTCP網關與西門子1200PLC配置案例

控制要求&#xff1a;使用MODBUSTCP通信進行兩臺PLC之間的數據交換&#xff0c;由于改造現場不能改動程序&#xff0c;只留出了對應的IQ地址。于是客戶決定使用網關進行通訊把數據傳到plc。 1、讀取服務器端40001~40005地址中的數據&#xff0c;放入到VW200~VW208中&#xff1…

打破傳統倉庫管理困局:WMS如何重構出入庫全流程

引言 在制造業與零售業高速發展的今天&#xff0c;倉庫管理仍普遍面臨效率低、錯發漏發頻發、庫存數據滯后等痛點。人工登記導致30%的錯單率&#xff0c;貨位混亂讓揀貨耗時增加50%&#xff0c;而賬實不符引發的二次采購成本更吞噬著企業利潤。如何突破傳統管理桎梏&#xff1…

Text2SQL在Spark NLP中的實現與應用:將自然語言問題轉換為SQL查詢的技術解析

概述 SQL 仍然是當前行業中最受歡迎的技能之一 免責聲明&#xff1a;Spark NLP 中的 Text2SQL 注釋器在 v3.x&#xff08;2021 年 3 月&#xff09;中已被棄用&#xff0c;不再使用。如果您想測試該模塊&#xff0c;請使用 Spark NLP for Healthcare 的早期版本。 自新千年伊…

微服務項目->在線oj系統(Java版 - 5)

相信自己,終會成功 微服務代碼: lyyy-oj: 微服務 目錄 C端代碼 用戶題目接口 修改后用戶提交代碼(應用版) 用戶提交題目判題結果 代碼沙箱 1. 代碼沙箱的核心功能 2. 常見的代碼沙箱實現方式 3. 代碼沙箱的關鍵問題與解決方案 4. 你的代碼如何與沙箱交互&#xff1f; …

Vue3 Element Plus 中el-table-column索引使用問題

在 Element Plus 的 el-table 組件中&#xff0c;使用 scope.index 是不準確的。正確的索引屬性應該是 scope.$index。你的代碼需要調整為&#xff1a; vue 復制 下載 <el-button type"primary" size"default" text click"onModifyClick(scope…