昨天在《Apache Kafka监控之KafkaOffsetMonitor》 介绍了Kafka OffsetMonitor的编译以及配置等内容,今天继续来介绍Kafka 的第二种监控系统Kafka Web Console。他也是一款开源的系统,源码的地址在https://github.com/claudemamo/kafka-web-console中。Kafka Web Console也是用Scala语言编写的Java web程序用于监控Apache Kafka。这个系统的功能和KafkaOffsetMonitor很类似,但是我们从源码角度来看,这款系统实现比KafkaOffsetMonitor要复杂很多,而且编译配置比KafkaOffsetMonitor较麻烦。 要想运行这套系统我们需要的先行条件为:
Play Framework 2.2.x Apache Kafka 0.8.x Zookeeper 3.3.3 or 3.3.4
同样,我们从https://github.com/claudemamo/kafka-web-console上面将源码下载下来,然后用sbt进行编译,在编译前我们需要做如下的修改: 1、Kafka Web Console默认用的数据库是H2,它支持以下几种数据库:
为了方便,我们可以使用Mysql数据库,只要做如下修改即可,找到 conf/application.conf文件,并修改如下
01
#############################################################################
07
过往记忆博客,专注于hadoop、hive、spark、shark、flume的技术博客,大量的干货
08
过往记忆博客微信公共帐号:iteblog_hadoop
09
#############################################################################
11
db.
default
.driver=org.h2.Driver
12
db.
default
.url=
"jdbc:h2:file:play"
14
# db.
default
.password=
""
18
db.
default
.driver=com.mysql.jdbc.Driver
20
db.
default
.user=iteblog
我们还需要修改build.sbt,加入对Mysql的依赖:
1
"mysql"
%
"mysql-connector-java"
%
"5.1.31"
2、执行conf/evolutions/default/bak目录下面的1.sql、2.sql和3.sql三个文件。需要注意的是,这三个sql文件不能直接运行,有语法错误,需要做一些修改。 上面的注意事项弄完之后,我们就可以编译下载过来的源码:
编译的过程比较慢,有些依赖包下载速度非常地慢,请耐心等待。
在编译的过程中,可能会出现有些依赖包无法下载,如下错误:
01
[warn] module not found: com.typesafe.play#sbt-plugin;
2.2
.
1
02
[warn] ==== typesafe-ivy-releases: tried
04
com.typesafe.play/sbt-plugin/scala_2.
9.2
/sbt_0.
12
/
2.2
.
1
/ivys/ivy.xml
05
[warn] ==== sbt-plugin-releases: tried
07
com.typesafe.play/sbt-plugin/scala_2.
9.2
/sbt_0.
12
/
2.2
.
1
/ivys/ivy.xml
08
[warn] ==== local: tried
09
[warn] /home/iteblog/.ivy2/local/com.typesafe.play/
10
sbt-plugin/scala_2.
9.2
/sbt_0.
12
/
2.2
.
1
/ivys/ivy.xml
11
[warn] ==== Typesafe repository: tried
13
typesafe/play/sbt-plugin_2.
9
.2_0.
12
/
2.2
.
1
/sbt-plugin-
2.2
.
1
.pom
14
[warn] ====
public
: tried
16
sbt-plugin_2.
9
.2_0.
12
/
2.2
.
1
/sbt-plugin-
2.2
.
1
.pom
17
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
21
/home/iteblog/.ivy2/local/org.scala-sbt/collections/
0.13
.
0
/jars/collections.jar
23
::::::::::::::::::::::::::::::::::::::::::::::
25
:: FAILED DOWNLOADS ::
27
:: ^ see resolution messages
for
details ^ ::
29
::::::::::::::::::::::::::::::::::::::::::::::
31
:: org.scala-sbt#collections;
0.13
.
0
!collections.jar
33
::::::::::::::::::::::::::::::::::::::::::::::
我们可以手动地下载相关依赖,并放到类似/home/iteblog/.ivy2/local/org.scala-sbt/collections/0.13.0/jars/目录下面。然后再编译就可以了。
最后,我们可以通过下面命令启动Kafka Web Console监控系统:
并可以在http://localhost:9000查看。下面是一张效果图