Apache Kafka系列(二) 命令列工具(CLI)
Apache Kafka命令列工具(Command Line Interface,CLI),下文簡稱CLI。
1. 啟動Kafka
啟動Kafka需要兩步:
1.1. 啟動ZooKeeper
[[email protected] kafka_2.12-0.11.0.0]# bin/zookeeper-server-start.sh config/zookeeper.properties
1.2. 啟動Kafka Server
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-server-start.sh config/server.properties
2. 列出Topic
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-topics.sh --zookeeper localhost:2181 --list HelloWorld
3. 建立Topic
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic Demo1 Created topic "Demo1".
上述命令會建立一個名為Demo1的Topic,並指定了replication-factor和partitions分別為1。其中replication-factor控制一個Message會被寫到多少臺伺服器上,因此這個值必須小於或者
等於Broker的數量。
4. 描述Topic
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic Demo1 Topic:Demo1 PartitionCount:1 ReplicationFactor:1Configs: Topic: Demo1 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
5. 釋出訊息到指定的Topic
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Demo1 >this >is >the >firest >input
可以在控制檯逐行輸入任意訊息。命令的終止符是:control + C組合鍵。
6. 消費指定Topic上的訊息
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic Demo1 this is the firest input
7. 修改Topic
7.1 增加指定Topic的partition,在第3步中建立的Demo1的partition是1。如下命令將增加10個partition
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-topics.sh --alter --zookeeper localhost:2181 --partitions 11 --topic Demo1 WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected Adding partitions succeeded!
7.2. 刪除指定Topic
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic Demo1 Topic Demo1 is marked for deletion. Note: This will have no impact if delete.topic.enable is not set to true.
Note中指出該Topic並沒有真正的刪除,如果真刪除,需要把server.properties中的delete.topic.enable置為true
7.3 給指定的Topic增加配置項,如給一個增加max message size值為128000
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic Demo1 --config max.message.bytes=128000 WARNING: Altering topic configuration from this script has been deprecated and may be removed in future releases. Going forward, please use kafka-configs.sh for this functionality Updated config for topic "Demo1".
warning中指出該命令已經過期,將來可能被刪除,替代的命令是使用kafka-config.sh。新命令如下:
[[email protected] kafka_2.12-0.11.0.0]# bin/kafka-configs.sh --alter --zookeeper localhost:2181 --entity-type topics --entity-name Demo1 --add-config max.message.bytes=12800 Completed Updating config for entity: topic 'Demo1'.
需要使用entity-type置為topics,並在entity-name中指定對應的名稱
8. 結論
本文展示了CLI所提供的一些常用的命令,這些基本的命令在運維Kafka過程中很實用。
相關推薦
Apache Kafka系列(二) 命令列工具(CLI)
Apache Kafka命令列工具(Command Line Interface,CLI),下文簡稱CLI。 1. 啟動Kafka 啟動Kafka需要兩步: 1.1. 啟動ZooKeeper [[email protected] kafka_2.12-0.11.0.0]# bin/zo
《自己動手寫java虛擬機器》學習筆記(二)-----命令列工具(java)
專案地址:https://github.com/gongxianshengjiadexiaohuihui 首先是Cmd的類 /** * @ClassName Cmd * @Description TODO * @Author Mr.G * @Date 2018/10/9 9:40
《自己動手寫java虛擬機器》學習筆記(一)-----命令列工具(go)
專案地址:https://github.com/gongxianshengjiadexiaohuihui 在今年三月份的時候,看過這本書,但是可能知識儲備不足,許多東西都一知半解,導致看到一半就看不下去了,現在覺得自己進步挺大的,決定重新拾起這本書,並且把
python測試用例覆蓋率工具coverage教程(命令列工具)(譯)
歡迎大家光臨我的部落格 簡介 coverage是一個檢測單元測試覆蓋率的工具,即檢查你的測試用例是否覆蓋到了所有的程式碼。 coverage命令列工具 當你通過pip install coverage成功安裝完coverage後,就會在pytho
AWS 命令列介面(CLI)_管理AWS服務的統一工具
Amazon Web Services 誠聘精英。 Amazon Web Services (AWS) 是 Amazon.com 的一個充滿活力、不斷壯大的業務部門。我們現誠聘軟體開發工程師、產品經理、客戶經理、解決方案架構師、支援工程師、系統工程師以及設計師等人才。請訪問我
用命令列工具(CMD)執行java檔案
這篇文章將講解如何用命令列工具執行java檔案 一、命令列工具的使用 在開始選單中開啟執行工具,或使用快捷鍵win+R鍵開啟,輸入cmd即可。 輸入所要執行的java檔案的地址,即檔案所在資料夾的位置,如我的java測試檔案放在F:\Softw
跨平臺框架Cordova 命令列簡介(CLI)
這一節,我們將看到如何通過Cordova命令列(CLI)建立新的專案,針對不同平臺進行編譯,並利用模擬器或真實裝置進行測試。CLI是跨平臺工作方式的主要工具。 當然,你也可以利用CLI進行一些專案的初始化工作,比如建立初始程式碼等等。稍後,你就可以針對不同平臺提供的SDK進
輕鬆學習Ionic (四) 修改應用圖示及新增啟動畫面(更新官方命令列工具自動生成)
<platform name="android"> <icon src="res/android/ldpi.png" density="ldpi" /> <icon src="res/android/mdpi.png" de
ONOS程式設計系列(二)命令列命令與服務開發
此文章承接ONOS程式設計系列(一) Application Tutorial ,如果尚未看過上一篇,請先看完上一篇,再回過頭來看此篇。 本文章的目的在於讓讀者明白: 如何將新建的application擴充套件為新的服務,以便其他服務或者應用可以呼叫它如何將該application的功能擴充套件為Kar
jdk命令行工具(一)
too left failed ccsm enter gcc mon 如果 空間大小 1、概述 熟悉java開發的人應該都知道在jdk的bin目錄下有許多的工具,這些工具主要用於監視虛擬機和故障處理。這些故障處理工具被Sun公司稱作為“禮物”附贈給JDK的使用者,並在軟
Silverlight & Blend動畫設計系列二:旋轉動畫(RotateTransform)
target width duration pac 操作 縮放 () rop pri Silverlight的基礎動畫包括偏移、旋轉、縮放、傾斜和翻轉動畫,這些基礎動畫毫無疑問是在Silverlight中使用得最多的動畫效果,其使用也是非常簡單的。相信看過上一篇《偏移動畫(
mysql 命令列操作(一)管理操作
1.查詢所有存在的資料庫 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysq
mysql 命令列操作(四)高階sql語句
1.union,連線兩個以上的select語句的結果組合到一個結果集中,多個select語句中相同的資料會被刪除,多個union的select語句必須列數相同,比如第一個select選擇兩個列,那麼後續所有union的select語句都必須是兩列,不要求列的屬性一致,可以用u
mysql 命令列處理(六)事務
mysql中,事務是一些資料庫操作語句,有3個特點: 1.只有使用了InnoD引擎的資料庫或者表支援事務 2.事務可以用來維護資料庫完整性,保證成批的sql語句要麼全執行,要麼全不執行,不會出現部分執行失敗導致不一致的情況 3.事務用來管理insert,update,d
Windows CMD命令列大全(轉)
命令簡介 cmd是command的縮寫.即命令列 。 雖然隨著計算機產業的發展,Windows 作業系統的應用越來越廣泛,DOS 面臨著被淘汰的命運,但是因為它執行安全、穩定,有的使用者還在使用,所以一般Windows 的各種版本都與其相容,使用者可以在Windo
java 命令列匯入(引用)jar包
編譯: E:/>javac -cp e:/jdom.jar test1.java 執行: E:/>java -classpath e:/jdom.jar; test1
CCF之命令列選項(java)
試題編號: 201403-3 試題名稱: 命令列選項 時間限制: 1.0s 記憶體限制: 256.0MB 問題描述: 問題描述 請你寫一個命令列分析程式,用以分析給定的命令列裡包含哪些選項。每個命令列由若干個字串組成,它們之間恰好由一個空格分隔。這些
Linux常用命令列彙總(2)
15、使用gnome-screenshot實現螢幕截圖 使用gnome-screenshot實現延時10秒螢幕截圖。輸入下面命令,然後開啟Applications/Accessories/Text Editor 方法:gnome-screenshot -d 10 16、使用
Qt 之命令列編譯(nmake)
簡述 前兩節講解了如何在 Visual Studio 和 Qt Creator 中搭建 Qt 開發環境,並分享了我們第一個小程式 - Hello World。 下面分享如何使用命令列來編譯 Qt 程式。當然,MSVC 和 MinGW 的配置和編譯過程相差無幾