kafka自身并没有集成监控管理系统,因此对kafka的监控管理比较不便,好在有大量的第三方监控管理系统来使用,常见的有:
- Kafka Eagle
- KafkaOffsetMonitor
- Kafka Manager(雅虎开源的Kafka集群管理器)
- Kafka Web Console
- 还有JMX接口自开发监控管理系统
以下是3.1.0版TV页面
Kafka-Eagle安装
安装包下载地址: http://download.kafka-eagle.org/
官方文档地址:https://docs.kafka-eagle.org/
环境准备:zookeeper+kafka健康可用
- 上传,解压
- 配置环境变量:JAVA_HOME 和KE_HOME
vi /etc/profile
-- 之前配过了就不用再配了
export JAVA_HOME=/opt/apps/jdk1.8.3_9u19
export PATH=$PATH:$JAVA_HOME/bin
export KE_HOME=/opt/apps/efak-web-3.1.0
export PATH=$PATH:$KE_HOME/bin
- 配置KafkaEagle
cd ${KE_HOME}/conf
vi system-config.properties
修改如下内容:
######################################
# multi zookeeper & kafka cluster list
# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=linux01:2181,linux02:2181,linux03:2181
######################################
# broker size online list
######################################
cluster1.efak.broker.size=3
######################################
# kafka sqlite jdbc driver address
######################################
efak.driver=org.sqlite.JDBC
efak.url=jdbc:sqlite:/opt/data/kafka-eagle/db/ke.db
efak.username=root
efak.password=www.kafka-eagle.org
######################################
# kafka mysql jdbc driver address
######################################
#efak.driver=com.mysql.cj.jdbc.Driver
#efak.url=jdbc:mysql://linux01:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#efak.username=root
#efak.password=123456
其中主要修改部分
efak.zk.cluster.alias=cluster1
cluster1.zk.list=linux01:2181,linux02:2181,linux03:2181
cluster1.efak.broker.size=3
注意要将这部分注释解开
efak.driver=org.sqlite.JDBC
efak.url=jdbc:sqlite:/opt/data/kafka-eagle/db/ke.db
efak.username=root
efak.password=www.kafka-eagle.org
如果你的system-config.properties配置是使用的默认的sqlite,那么你必须创建/hadoop/kafka-eagle/db
即
mkdir -p /hadoop/kafka-eagle/db
这里我将其放到了自己创建的路径下,efak.url=jdbc:sqlite:/opt/data/kafka-eagle/db/ke.db
所以手动创建
mkdir -p /opt/data/kafka-eagle/db
即可
若没有手动创建则会出现登陆成功但web端无法连接的情况,这是因为在官方文档中可以看到
It is important to note that the ‘/hadoop/kafka-eagle/db’ path must
be exist.
所以这个文件夹必须存在,执行mkdir -p /opt/data/kafka-eagle/db,然后重启你的kafka-eagle。就可以连接web端了
如果使用MySQL 提前在mysql中创建指定的数据库 mysql> CREATE DATABASE IF NOT EXISTS ke
DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
并打开
#efak.driver=com.mysql.cj.jdbc.Driver
#efak.url=jdbc:mysql://linux01:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#efak.username=root
#efak.password=123456
的注释
- 配置kafka服务端的JMX端口【选配】
这部分就不作详细介绍了 - 配置KE_HOME 环境变量,上面已配置好
- 启动KafkaEagle
cd ${KE_HOME}/bin--- 这是cd 到 bin 目录下
chmod +x ke.sh
./ke.sh start
- 访问web界面
http://192.168.111.33:8048(也可以直接linux01:8048,即安装到的虚拟机上名字+其端口号)
账号密码:Account:admin ,Password:123456
注意,当你还连接不成功时,注意检查防火墙