Apache Kafka監控之Kafka Web Console

五柳-先生發表於2015-12-09

昨天在《Apache Kafka監控之KafkaOffsetMonitor》介紹了KafkaOffsetMonitor的編譯以及配置等內容,今天繼續來介紹Kafka的第二種監控系統Kafka Web Console。他也是一款開源的系統,原始碼的地址在https://github.com/claudemamo/kafka-web-console中。Kafka Web Console也是用Scala語言編寫的Java web程式用於監控Apache Kafka。這個系統的功能和KafkaOffsetMonitor很類似,但是我們從原始碼角度來看,這款系統實現比KafkaOffsetMonitor要複雜很多,而且編譯配置比KafkaOffsetMonitor較麻煩。
  要想執行這套系統我們需要的先行條件為:

  1. Play Framework 2.2.x
  2. Apache Kafka 0.8.x
  3. Zookeeper 3.3.3 or 3.3.4

  同樣,我們從https://github.com/claudemamo/kafka-web-console上面將原始碼下載下來,然後用sbt進行編譯,在編譯前我們需要做如下的修改:
  1、Kafka Web Console預設用的資料庫是H2,它支援以下幾種資料庫:

H2 (default)
PostgreSql
Oracle
DB2
MySQL
Apache Derby
Microsoft SQL Server

為了方便,我們可以使用Mysql資料庫,只要做如下修改即可,找到 conf/application.conf檔案,並修改如下

#############################################################################
 User: 過往記憶
 Date: 14-08-08
 Time: 11:37
 bolg: http://www.iteblog.com
 本文地址:http://www.iteblog.com/archives/1084
 過往記憶部落格,專注於hadoop、hive、spark、shark、flume的技術部落格,大量的乾貨
 過往記憶部落格微信公共帳號:iteblog_hadoop
#############################################################################
將這個
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:file:play"
# db.default.user=sa
# db.default.password=""


修改成
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/kafkamonitor"
db.default.user=iteblog
db.default.pass=wyp

我們還需要修改build.sbt,加入對Mysql的依賴:

"mysql" % "mysql-connector-java" % "5.1.31"

  2、執行conf/evolutions/default/bak目錄下面的1.sql、2.sql和3.sql三個檔案。需要注意的是,這三個sql檔案不能直接執行,有語法錯誤,需要做一些修改。
上面的注意事項弄完之後,我們就可以編譯下載過來的原始碼:

# sbt package

  編譯的過程比較慢,有些依賴包下載速度非常地慢,請耐心等待。

  在編譯的過程中,可能會出現有些依賴包無法下載,如下錯誤:

[warn] module not found: com.typesafe.play#sbt-plugin;2.2.1
[warn] ==== typesafe-ivy-releases: tried
[warn] http://repo.typesafe.com/typesafe/ivy-releases/
com.typesafe.play/sbt-plugin/scala_2.9.2/sbt_0.12/2.2.1/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/
com.typesafe.play/sbt-plugin/scala_2.9.2/sbt_0.12/2.2.1/ivys/ivy.xml
[warn] ==== local: tried
[warn] /home/iteblog/.ivy2/local/com.typesafe.play/
sbt-plugin/scala_2.9.2/sbt_0.12/2.2.1/ivys/ivy.xml
[warn] ==== Typesafe repository: tried
[warn] http://repo.typesafe.com/typesafe/releases/com/
typesafe/play/sbt-plugin_2.9.2_0.12/2.2.1/sbt-plugin-2.2.1.pom
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/com/typesafe/play/
sbt-plugin_2.9.2_0.12/2.2.1/sbt-plugin-2.2.1.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::

==== local: tried

/home/iteblog/.ivy2/local/org.scala-sbt/collections/0.13.0/jars/collections.jar

::::::::::::::::::::::::::::::::::::::::::::::

:: FAILED DOWNLOADS ::

:: ^ see resolution messages for details ^ ::

::::::::::::::::::::::::::::::::::::::::::::::

:: org.scala-sbt#collections;0.13.0!collections.jar

::::::::::::::::::::::::::::::::::::::::::::::

  我們可以手動地下載相關依賴,並放到類似/home/iteblog/.ivy2/local/org.scala-sbt/collections/0.13.0/jars/目錄下面。然後再編譯就可以了。

  最後,我們可以通過下面命令啟動Kafka Web Console監控系統:

# sbt run

並可以在http://localhost:9000檢視。下面是一張效果圖

尊重原創,轉載請註明: 轉載自過往記憶(http://www.iteblog.com/)
本文連結地址: 《Apache Kafka監控之Kafka Web Console》(http://www.iteblog.com/archives/1084)

相關文章