為了簡化開發者和服務工程師維護Kafka集群的工作,yahoo構建了一個叫做Kafka管理器的基於Web工具,叫做 Kafka Manager。本文對其進行部署配置,並安裝配置kafkatool對kafka進行監控、查詢
一、kafka-manager 簡介
為了簡化開發者和服務工程師維護Kafka集群的工作,yahoo構建了一個叫做Kafka管理器的基於Web工具,叫做 Kafka Manager。這個管理工具可以很容易地發現分布在集群中的哪些topic分布不均勻,或者是分區在整個集群分布不均勻的的情況。它支持管理多個集群、選擇副本、副本重新分配以及創建Topic。同時,這個管理工具也是一個非常好的可以快速瀏覽這個集群的工具,有如下功能:
1.管理多個kafka集群
2.便捷的檢查kafka集群狀態(topics,brokers,備份分布情況,分區分布情況)
3.選擇你要運行的副本
4.基於當前分區狀況進行
5.可以選擇topic配置並創建topic(0.8.1.1和0.8.2的配置不同)
6.刪除topic(只支持0.8.2以上的版本並且要在broker配置中設置delete.topic.enable=true)
7.Topic list會指明哪些topic被刪除(在0.8.2以上版本適用)
8.為已存在的topic增加分區
9.為已存在的topic更新配置
10.在多個topic上批量重分區
11.在多個topic上批量重分區(可選partition broker位置)
二、安裝
1. 環境要求
1.安裝jdk8 jdk-1.8.0_60 2,kafka集群 服務器: 10.0.0.50:12181 10.0.0.60:12181 10.0.0.70:12181 軟件: kafka_2.8.0-0.8.1.1 zookeeper-3.3.6 3.系統 Linux kafka50 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
2. 下載安裝 kafka-manager
2.1 .下載kafka-manager
Github地址:https://github.com/yahoo/kafka-manager
2.2.解壓
unzip kafka-manager-1.3.3.7.zip -d /data/ cd /data/kafka-manager-1.3.3.7
2.3.修改配置 conf/application.properties
[root@kafka50 conf]# pwd /data/kafka-manager-1.3.3.7/conf [root@kafka50 conf]# ls application.conf consumer.properties logback.xml logger.xml nohup.out routes 編輯配置文件application.conf #kafka-manager.zkhosts="localhost:2181" ##注釋這一行,下面添加一行 kafka-manager.zkhosts="10.0.0.50:12181,10.0.0.60:12181,10.0.0.70:12181"
2.4啟動
bin/kafka-manager kafka-manager 默認的端口是9000,可通過 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件: nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &
啟動過程:

啟動完畢后可以查看端口是否啟動,由於啟動過程需要一段時間,端口起來的時間可能會延后。
3.瀏覽器訪問
使用ip地址:端口訪問
三、測試 kafka-mamager
1. 新建 Cluster
點擊【Cluster】>【Add Cluster】打開如下添加集群的配置界面:
輸入集群的名字(如Kafka-Cluster-1
)和 Zookeeper 服務器地址(如localhost:2181
),選擇最接近的Kafka版本(如0.8.1.1
)
注意:如果沒有在 Kafka 中配置過 JMX_PORT,千萬不要選擇第一個復選框。 Enable JMX Polling 如果選擇了該復選框,Kafka-manager 可能會無法啟動。
其他broker的配置可以根據自己需要進行配置,默認情況下,點擊【保存】時,會提示幾個默認值為1
的配置錯誤,需要配置為>=2
的值。提示如下。
新建完成后,運行界面如下:
TOPIC list
broker
三、管理 kafka-mamager
3.1.新建主題
點擊【Topic】>【Create】可以方便的創建並配置主題。如下顯示。
接下來我們根據一張圖講解
在上圖一個Kafka集群中,有兩個服務器,每個服務器上都有2個分區。P0,P3可能屬於同一個主題,也可能是兩個不同的主題。 如果設置的Partitons和Replication Factor都是2,這種情況下該主題的分步就和上圖中Kafka集群顯示的相同,此時P0,P3是同一個主題的兩個分區。P1,P2也是同一個主題的兩個分區,Server1和Server2其中一個會作為Leader進行讀寫操作,另一個通過復制進行同步。 如果設置的Partitons和Replication Factor都是1,這時只會根據算法在某個Server上創建一個分區,可以是P0~4中的某一個(分區都是新建的,不是先存在4個然后從中取1個)。
這里我們都設置為2,點擊【Create】然后進入創建的這個主題,顯示如下。
3.2.查看主題
點擊【topic】下面的主題名稱,即可查看主題
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、kafkatool工具簡介
下載kafkatool對kafka上的數據進行監控、查看
kafkatool下載地址:http://www.kafkatool.com/download.html
下載適合自己系統的版本即可
1)連接kafka

安裝完成后運行kafkatool
無需注冊,直接試用
選擇File下的 Add New Connection
設置完了,點擊Test測試是否能連接,連接通了,然后點擊Add,添加完成設置。出現如下界面
2)簡單使用
配置以字符串的形式顯示kafka消息體
或者通過如下界面配置
再次查看kafka的數據:
具體顯示格式根據發布者上傳到kafka上的數據格式為准,包括json格式、AVRQ格式等。格式不同顯示信息不同。