Kafka-manager的基本配置和運行

一、下載安裝

想要查看和管理Kafka,完全使用命令並不方便,我們可以使用雅虎開源的Kafka-manager,GitHub地址如下:

https://github.com/yahoo/kafka-manager

我們可以使用Git或者直接從Releases中下載,此處從下面的地址下載 1.3.3.7 版本:

https://github.com/yahoo/kafka-manager/releases

下載完成後解壓。

二、環境準備

在開始安裝官方文檔進行配置前,因爲Kafka-manager使用的Play框架,爲了編譯的速度更快,先配置sbt的maven倉庫,由於默認倉庫速度較慢,因此使用aliyun提供的maven倉庫。

通過 cd ~進入當前用戶目錄,然後通過命令mkdir .sbt創建.sbt目錄,進入創建的該目錄,使用vi創建repositories文件,編輯內容如下:

[repositories]
local
aliyun: http://maven.aliyun.com/nexus/content/groups/public
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly

配置參考:http://www.scala-sbt.org/0.13.2/docs/Detailed-Topics/Library-Management.html#override-all-resolvers-for-all-builds

然後進入解壓後的 Kafka-manager 目錄,執行下面的命令:

> ./sbt clean dist

如果之前從來沒有用過Play框架,這個步驟會需要一定時間,主要是下載依賴的jar包,使用aliyun的私服可以讓這個過程縮短很多。

命令執行完成後,在 target/universal 目錄中會生產一個zip壓縮包kafka-manager-1.3.3.7.zip。將壓縮包拷貝到要部署的目錄下解壓。

在解壓後的conf目錄中打開 application.conf文件,修改其中的配置信息,最主要的內容爲:

kafka-manager.zkhosts="localhost:2181"

配置爲Kafka的 zookeeper 服務器。你還可以通過環境變量ZK_HOSTS配置這個參數值。

其他詳細的配置信息參考官方文檔:https://github.com/yahoo/kafka-manager

三、啓動

在解壓的目錄中,使用下面的命令啓動Kafka-manager。

> bin/kafka-manager

默認情況下端口爲9000,你還可以通過下面的命令指定配置文件和端口:

> bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=8080

如果沒有配置Java的環境變量,還可以通過下面的方式指定Java8的目錄:

> bin/kafka-manager -java-home /usr/local/oracle-java-8

啓動後,從瀏覽器打開,顯示如下:

四、配置集羣

點擊【Cluster】>【Add Cluster】打開如下添加集羣的配置界面:

輸入集羣的名字(如Kafka-Cluster-1)和 Zookeeper 服務器地址(如localhost:2181)。

選擇最接近的Kafka版本(如0.10.1.0)。

注意:如果沒有在 Kafka 中配置過 JMX_PORT,千萬不要選擇第一個複選框。

Enable JMX Polling

如果選擇了該複選框,Kafka-manager 可能會無法啓動。

其他broker的配置可以根據自己需要進行配置,默認情況下,點擊【保存】時,會提示幾個默認值爲1的配置錯誤,需要配置爲>=2的值。保存成功後,提示如下。 

點擊【Go to cluster view.】打開當前的集羣界面。

在集羣界面顯示了主題和Broker的個數,點擊數字可以查看具體的信息。

同時在頂部多了好幾個菜單,可以查看集羣、Broker、主題等信息。

五、新建主題

點擊【Topic】>【Create】可以方便的創建並配置主題。如下顯示。

這裏只在Topic中輸入t1(或其他名字),分區和複製因子這裏簡單說明一下,詳細的可以查看官方介紹。

在上圖一個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個)。

這裏我們都設置爲1,點擊【Create】然後進入創建的這個主題,顯示如下。

這裏顯示了主題的基本信息,在右側中間的Broker這裏顯示了當前的Broker Id爲0,分區數爲1,如果集羣中存在多個服務,在創建該主題時,不一定會分配到哪個Broker。

這個頁面的右上部分顯示了針對主題的一些操作。這些操作相對命令的方式簡單和直觀了很多。

六、其他操作

關於kafka-manager的其他功能和操作可以參考官網:https://github.com/yahoo/kafka-manager。
 

 

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