1、kafka-manager 简介
为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:
1.管理多个kafka集群
2.便捷的检查kafka集群状态(topics,brokers,备份分布情况,分区分布情况)
3.选择你要运行的副本
4.基于当前分区状况进行
5.可以选择topic配置并创建topic(0.8.1.1和0.8.2的配置不同)
6.删除topic(只支持0.8.2以上的版本并且要在broker配置中设置delete.topic.enable=true)
7.Topic list会指明哪些topic被删除(在0.8.2以上版本适用)
8.为已存在的topic增加分区
9.为已存在的topic更新配置
10.在多个topic上批量重分区
11.在多个topic上批量重分区(可选partition broker位置)
kafka-manager 项目地址:https://github.com/yahoo/kafka-manager
2、安装
2.1安装环境要求
java1.8
scala:https://www.scala-lang.org/download/
sbt:https://www.scala-sbt.org/download.html
2.2修改配置
打开 application.conf文件,修改其中的配置信息(这里主要是连接你的zookeeper服务的端口
#配置
kafka-manager.zkhosts="node5.sdp.cn:2181,node6.sdp.cn:2181"
2.3 编译
进入kafka-manager目录,在此打开命令窗口cmd,输入
sbt clean dist
会自动初始化工作目录,过程比较漫长~~,主要是下载依赖的jar包,耐心等待下,注意在配置sbt的时候使用aliyun的私服可以让这个过程缩短很多
国内的网络环境复杂,阿里云还挺好用的,在sbt\conf\下新建repo.properties文件,内容为:
[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
sonatype-oss-releases
maven-central
sonatype-oss-snapshots
命令执行完成后,在 target/universal 目录中会产生一个zip的压缩包文件kafka-manager-1.3.3.22.zip
2.3 启动
将kafka-manager-1.3.3.22.zip解压到指定目录中,使用下面的命令启动Kafka-manager
解压后修改application.conf也可以
> .\bin\kafka-manager
默认情况下端口为9000,你还可以通过下面的命令指定配置文件和端口:
在浏览器输入http://localhost:9000/访问kafka-manager的主页
> .\bin\kafka-manager -Dconfig.file=.\conf\application.conf -Dhttp.port=8080
2.3.1添加集群
在Cluster下拉框选择Add Cluster添加一个集群节点,这里简单操作,在输入框Cluster Name和Cluster Zookeeper Hosts填入必要值即可,其他选项默认.点击Save保存即可
save
2.3.2 查看集群
2.3.3 查看所有topic
2.3.4查看topic消费偏移量
3、其他方式
打开命令窗口cmd, 并进入kafka-manager解压目录
在命令窗口输入sbt, 会自动初始化工作目录
工作目录初始化结束后,输入compile,进行编译
编译完成后, 输入run 运行
打开浏览器,输入http://127.0.0.1:9000/ 就可以看到管理界面