一、kafka-manager簡介
kafka-manager是目前最受歡迎的kafka集群管理工具,最早由雅虎開源,用戶可以在Web界面執行一些簡單的集群管理操作。具體支持以下內容:
- 管理多個集群
- 輕松檢查群集狀態(主題,消費者,偏移,代理,副本分發,分區分發)
- 運行首選副本選舉
- 使用選項生成分區分配以選擇要使用的代理
- 運行分區重新分配(基於生成的分配)
- 使用可選主題配置創建主題(0.8.1.1具有與0.8.2+不同的配置)
- 刪除主題(僅支持0.8.2+並記住在代理配置中設置delete.topic.enable = true)
- 主題列表現在指示標記為刪除的主題(僅支持0.8.2+)
- 批量生成多個主題的分區分配,並可選擇要使用的代理
- 批量運行重新分配多個主題的分區
- 將分區添加到現有主題
- 更新現有主題的配置
kafka-manager 項目地址:https://github.com/yahoo/kafka-manager
二、kafka-manager部署
1.下載安裝包
使用Git或者直接從Releases中下載,此處從下面的地址下載3.0.0.4 版本:https://github.com/yahoo/kafka-manager/releases
注意上面地址下載下來的是源碼包,需要進行編譯,如果不想編譯,可以直接下載編譯好的kafka-manager-1.3.3.7.zip
下載地址:https://pan.baidu.com/s/12j2DEt94WsWRY6dD9aR6BQ
提取密碼:8x57
[root@kafka01 ~]# unzip -o kafka-manager-1.3.3.7.zip
[root@kafka01 ~]# mv kafka-manager-1.3.3.7 /data/kafka-manager
[root@kafka01 ~]# cd /data/kafka-manager
[root@kafka01 kafka-manager]# vim conf/application.conf
·······
#kafka-manager.zkhosts="localhost:2181" #注釋這一行,添加下面一行
kafka-manager.zkhosts="192.168.10.150:2181,192.168.10.151:2181,192.168.10.152:2181"
啟動kafka-manager
[root@kafka01 kafka-manager]# nohup bin/kafka-manager >/dev/null 2>&1 &
需要注意:
kafka-manager默認的端口是9000,可通過-Dhttp.port在指定端口;-Dconfig.file=conf/application.conf指定配置文件;
[root@kafka01 kafka-manager]# nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9001 &
[root@kafka01 kafka-manager]# lsof -i:9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 54414 root 109u IPv4 150470 0t0 TCP *:cslistener (LISTEN)
通過瀏覽器訪問http://192.168.10.150:9000
kafka-mamager測試
新建 Cluster1
點擊【Cluster】>【Add Cluster】打開如下添加集群的配置界面:
輸入集群的名字(如Kafka-Cluster-test)和 Zookeeper 服務器地址(如localhost:2181),選擇最接近的Kafka版本(如0.10.1.1)
-------------------------------------------------------------------
注意:如果沒有在 Kafka 中配置過 JMX_PORT,千萬不要選擇第一個復選框。
Enable JMX Polling
如果選擇了該復選框,Kafka-manager 可能會無法啟動。
-------------------------------------------------------------------
其他broker的配置可以根據自己需要進行配置,默認情況下,點擊【保存】時,會提示幾個默認值為1的配置錯誤,需要配置為>=2的值。提示如下。
新建完成后,運行界面如下:
查看TOPIC 信息
查看broker信息
管理 kafka-mamager
新建主題
點擊【Topic】>【Create】可以方便的創建並配置主題。如下顯示。
由於集群只有三個節點,故replication factor最多只能設置為3
================================================
針對上面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個)。