Kafka Tool 2.0.7(最新)版本超詳細使用指北

Kafka Tool 2.0.7版本使用指北

本篇博客要點如下:

Kafka Tool 2.0.7下載安裝

Kafka Tool 2.0.7參數優化及連接Kafka集羣

Kafka Tool 2.0.7操作指北

案例: 使用Kafka Tool排查定位生產問題

一. Kafka Tool 2.0.7下載安裝

下載:

Kafka Tool下載鏈接:

根據操作系統和Kafka版本選擇合適的安裝包:

注意 : Kafka 0.10及之前版本請選擇 Kafka Tool 1.0.3
我的操作系統是windows64位,生產環境的Kafka版本是2.1.1

所以下載下圖所示的安裝包
在這裏插入圖片描述安裝:

安裝過程十分簡單,一路next即可(記得更改默認安裝路徑,保持良好習慣)

安裝後目錄結構如下圖所示,雙擊kafkatool.exe文件啓動Kafka Tool工具
在這裏插入圖片描述

二. Kafka Tool 2.0.7參數優化及連接Kafka集羣

2.1 參數優化(可選項)

正式連接Kafka集羣前,需要對工具的JVM參數進行配置(根據實際情況)

編輯kafkatool.vmoptions文件
設置參數

-Xmx4096m # 最大堆內存
-Xms4096m # 最小堆內存

在這裏插入圖片描述
原因 : 我們生產環境的數據量相對較大,查詢Kafka集羣數據時需要更大的內存來避免頻繁的垃圾回收或者內存溢出
同時,設置最大堆內存和最小堆內存相同,避免垃圾回收完成後JVM重新分配內存

通過兩張圖片參數修改後工具的差別:

修改前:
在這裏插入圖片描述
修改後:
在這裏插入圖片描述
注意:這裏也不要修改的過大,不然機器內存不足,會導致工具無法正常使用!

2.2 連接Kafka集羣

  1. 雙擊kafkatool.exe文件啓動Kafka Tool工具

  2. File–> Add New Connection 或者右鍵Clusters–> Add New Connection創建新的連接,如下圖所示:
    在這裏插入圖片描述在這裏插入圖片描述

  3. 配置連接信息,如下圖所示

    首先配置Properties
    在這裏插入圖片描述接下來配置Advanced
    在這裏插入圖片描述配置成功後,點擊add

  4. 連接集羣

    選擇剛剛添加的連接,點擊界面右下方的connect按鈕
    在這裏插入圖片描述連接框變爲綠色,證明連接成功!
    在這裏插入圖片描述

三. Kafka Tool 2.0.7操作指北

3.1 Kafka Tool 功能簡介

以下內容來自官網翻譯:

Kafka工具是用於管理和使用Apache Kafka集羣的GUI應用程序。
它提供了一種直觀的UI,可讓用戶快速查看Kafka集羣中的對象以及集羣主題中存儲的消息。
它包含面向開發人員和管理員的功能。
主要功能如下:
1. 快速查看所有的Kafka集羣,包括:  brokers,topics,consumers
2. 查看分區中的內容並添加新消息
3. 查看消費者的偏移量
4. 以漂亮的格式展示Json和XML消息
5. 添加刪除主題,以及其它管理功能
6. 將單個消息從集羣分區保存到本地
7. 編寫自己的插件,可以自定義數據格式
8. Kafka工具可以在包括Windows,Linux和Mac OS等系統上運行

3.2 使用Kafka Tool查看Broker信息

如下圖所示,點開我們之前獲取到的連接
可以查看集羣broker的ID,Host和Port信息
在這裏插入圖片描述

3.3 使用Kafka Tool查看和管理Topic

查看topic整體信息

任意選擇一個topic

Properties裏,你能夠獲取到該topic的總偏移量,key和消息的類型
如下圖所示:
在這裏插入圖片描述通過Data查看topic的數據(會將二進制的消息轉換成我們能看懂的格式),可以選擇查詢最早或者最新偏移量的數據,並指定每個分區顯示的條數
在這裏插入圖片描述
在這裏,我們還可以看到每條消息的詳細信息,如下圖:
我們可以看到,每條消息所在分區,對應偏移量,消息大小,消息的時間戳,以及消息的原始值(我這裏是二進制的)
在這裏插入圖片描述時間戳信息:
在這裏插入圖片描述
原始消息內容:
在這裏插入圖片描述
這裏我們可以點擊下圖所示的按鈕,將集羣的消息下載到本地
在這裏插入圖片描述
設置好下載路徑和文件名,點擊保存按鈕,即可!
下載好的內容如下圖所示:
可以看到,在集羣中存儲爲二進制的數據,下載到本地是很好的json格式
這個功能還是很實用的!
在這裏插入圖片描述

查看topic具體分區信息

我們以上文中列舉的topic的分區5爲例
Properties包括: 分區的id,分區的leader,起始偏移量,截止偏移量,分區大小等信息
在這裏插入圖片描述
Replicas包括每個副本集的broker信息,以及每個副本是否同步,如下圖所示:

在這裏插入圖片描述Data包含如下內容查看消息,添加消息等,具體細節如下圖:
和Topic下的Data有所區別,不同的地方在下圖中用紅線標出
在這裏插入圖片描述
爲分區增加消息

1. 點擊Data下面的 + 按鈕
2. 彈出框選擇Add Multiple Message
3. 設置消息配置選項(每行內容,key.message分隔符,以及是否使用16進制)
4. Data文本框按格式輸入要添加消息
5. 點擊add按鈕添加消息

具體操作如下圖所示:
在這裏插入圖片描述

添加和刪除topic

點擊界面左側的Topics,在界面右側的彈出框中包括刷新,打印,創建topic,刪除topic
具體操作如下圖:
在這裏插入圖片描述
添加topic

1. 點擊Topics裏的 + 按鈕
2. 設置topic信息(名字,分區數,副本數)
3. 點擊add按鈕
4. topic創建成功

在這裏插入圖片描述

刪除topic

1. 選中要刪除的topic
2. 點擊×按鈕
3. 彈出來的提示框中選擇是
4. topic刪除

刪除操作一定要慎重!請仔細確認!!!
刪除操作一定要慎重!請仔細確認!!!
刪除操作一定要慎重!請仔細確認!!!

具體操作如下圖所示:
在這裏插入圖片描述

3.4 使用Kafka Tool查看和管理Consumer

界面左側點擊Consumers可以看到該集羣的所有消費者組
在下面列出來的消費者組中,隨便點擊一個
右側會出現包含Properties和Offsets選項的界面

Properties包含如下內容:
消費者組(組名)Id,消費者類型,偏移量存儲位置
如下圖:
在這裏插入圖片描述Offsets包含如下信息:

它提供了刷新,打印,編輯功能
可以獲取到消費者組消費的topic信息,分區偏移量信息,獲取消費端的偏移量,積壓的偏移量,以及偏移量最後提交時間
具體如下圖所示
在這裏插入圖片描述
看一下它的編輯功能:

1. 選擇要編輯的消費者組
2. 點擊編輯按鈕
3. 選擇設置偏移量方式(從起始位置消費,從截止位置消費,或者從指定的偏移量開始消費)
4. 點擊update完成設置

在這裏插入圖片描述
看一下更新之後的效果:
可以看到: 消費端的偏移量和topic的截止消費量基本一致(不等的原因是,topic一直有數據推送)
同時,消費端的數據積壓也清空了
在這裏插入圖片描述在實際生產中,我們可以通過這種方式跳過我們不需要消費的數據,以提高消費端性能,減少資源佔用!

四.使用Kafka Tool排查定位生產問題

最後,在介紹一個使用這個工具定位生產問題的案例

生產問題描述

通過監控郵件發現, Kafka消費落地後的數據,在(數據條數,數據質量)均與源端(oracle)的數據存在差異
而我們對於數據準確性的要求很高

問題排查

查詢程序日誌,發現如下報錯:

在這裏插入圖片描述即: Kafka集羣在幾分鐘的時間裏不可用
與相關同事確認,在這段時間Kafka集羣重啓
但他們聲稱,重啓是無感知的,不會造成數據丟失,可能是消費端的參數設計有問題,或者說程序不夠健壯???

來不及扯皮,用補數程序把數據補好先~

用Kafka-tool工具,查詢我用的topic某個分區的數據(窺一豹而見全身)

使用From Specific Offset功能,使用一點子智慧,調整時間戳到集羣重啓的時間點
發現瞭如下內容:在接近7分鐘的時間裏,topic沒有任何數據新增(正常情況下,每秒都會有幾條到幾十條不等的數據)

在這裏插入圖片描述
接下來,根據我的補數程序打印出來的主鍵信息去Mongo數據庫覈查,
發現數據全部落在這個時間點
(因爲推送端是同時寫入這個庫和Kafka的)
這個庫有對應時間的數據,Kafka集羣卻沒有,可以確定Kafka集羣這段時間的數據全部缺失
在這裏插入圖片描述
至此,問題排查清楚

確診

原因是相關同事在集羣重啓之前,沒有衡量好影響.
同時也沒有告知使用方
因此,負責推送的同事沒有在集羣重啓前,停掉推送端,導致這段時間數據丟失
(推送端出於性能和數據一致性的綜合考慮,推送失敗時會重試幾次,但不會一直阻塞)

------ 感謝這個工具, 沒有讓可憐的我背黑鍋~

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