因为kafka Manager支持对Kafka的主题的增删改查操作,和消费者对数据的消费情况。而kafka Monitor对kafka新版(1.0版后),支持不太好,比如在Kafka1.1版中,用代码创建的Topic,地址没有直接绑定zookeeper,而是通过的bootstrap.server指定的Broker地址,间接绑定到zookeeper,在Kafka Monitor中却查看不到这些Topic,果断放弃了使用kafka Monitor
我们来看看kafka-manager的部署过程吧,目前最新版本还是2018年的kafka-manager-1.3.3.18版本,kafka只支持到2.2.0版,所以需要注意下我们的kafka版本
cd /usr/local/src git clone https://github.com/yahoo/kafka-manager.git tar -zxvf 1.3.3.18.tar.gz
这样解压出来是kafka-manager-1.3.3.18目录,我们还需要进行编译
我们需要做下镜像加速的配置
cd ~ mkdir .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
保存退出
:wq repositories
接下来的编译过程需要借助Play框架
cd kafka-manager-1.3.3.18 ./sbt clean dist
如果提示sbt的错误我们就yum安装下这个工具
yum install sbt
然后重新执行
./sbt clean dist
编译完成以后我们可以在kafka-manager-1.3.3.18/target/universal目录下看到kafka-manager-1.3.3.18.zip这个压缩包
我们解压后将此目录移到我们的目标目录下
unzip kafka-manager-1.3.3.18.zip mv kafka-manager-1.3.3.18 /usr/local/kafka-manager
编辑配置文件
#vi /usr/local/kafka-manager/conf/application.conf kafka-manager.zkhosts="localhost:2181" #此行中的localhost改为你zookeeper服务器的IP地址
配置修改就结束了,我们需要启动它
cd /usr/local/kafka-manager bin/kafka-manager &
启动默认访问端口是9000,启动以后我们可以查看下9000端口是否监听
同时也可以将9000默认端口修改为其他的,只需要在启动的时候增加参数
bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9900 &
这样访问端口就变为9900了
接着我们再来看看如何使用
打开浏览器输入ip:9900
第一次访问需要我们建立集群,点击Cluster->Add Cluster
Cluster Name:填写集群命令,随便填写
Cluster Zookeeper Hosts:zookeeper主机,例如我的是122.51.230.106:2181
Kafka Version:kafka版本,我的版本是2.2.0
勾选以下
#启用JMX轮询(在启动kafka服务器之前设置JMX_PORT环境变量)
Enable JMX Polling (Set JMX_PORT env variable before starting kafka server)
#对消费者信息进行轮询(如果ZK用于在较旧的Kafka版本上进行偏移跟踪,则不建议对大量的消费者进行轮询)
Poll consumer information (Not recommended for large # of consumers if ZK is used for offsets tracking on older Kafka versions)
#启用活动偏移缓存(不建议为大量用户启用)
Enable Active OffsetCache (Not recommended for large # of consumers)