一、下载kafka-manager源码
前往https://github.com/yahoo/kafka-manager/releases ,根据自己的需要,下载合适版本的Kafka Manager源码
二、mac安装sbt
brew install sbt
解压源码,在源码根目录下执行如下命令构建项目:
sbt clean dist
构建成功后,在target/universal
目录下找到类似cmak-3.0.0.5.zip
的文件,这个就是构件好的Kafka Manager啦。
三、配置
解压kafka-manager-1.3.3.13.zip
。
修改conf/application.conf
,将配置属性kafka-manager.zkhosts
及cmak.zkhosts改为您的zk集群地址。
运行
bin/cmak
使用http://localhost:9000 即可访问Kafka Manager啦。
添加cluster
四、踩坑
1.zookeeper版本不要太低,太低会报错
报错内容通常如下:
Yikes! KeeperErrorCode = Unimplemented for /kafka-manager/mutex Try again.
解决方法:升级zookeeper到3.5+版本(停止原有zk,配置相同,逐个启动即可)
2.升级zookeeper后重启zookeeper
zookeeper3.5.5启动报错java.io.IOException: No snapshot found, but there are log entries. Something i问题解决
由于之前3.5.5版本一直启动报错,解决之前先用了老版本的zk2.4.8,并修改zk2.4.8的dataDir=/usr/lib/zookeeper/zkdata,
用了一阵子,后来3.5.5搞定后,启动居然报这个错,后来经百度查询,这个错是在启动zk是恢复数据报错的,因为之前的data全是我3.4.8版本的数据,现在启动3.5.5恢复这个数据就报错了(ps:我zk3.5.5和zk3.4.8的配置文件zoo.cfg的dirData都写的同一个目录,所以报错的),解决办法是把我zk3.5.5的dataDir=换一个目录就行了
3.启动kafka
kafka启动时报错:Socket server failed to bind to 0.0.0.0:9092: Address already in use.
解决办法:
kafka进程存在,杀死进程即可
[root@node3 ~]# jps
2450 JournalNode
10901 Jps
2794 ResourceManager
9146 Kafka
2315 QuorumPeerMain
2587 NodeManager
2380 DataNode
[root@node3 ~]# kill -9 9146
4.bogon解析失败
[2020-08-07 10:17:19,611] WARN [Producer clientId=console-producer] Error connecting to node bogon:9092 (id: 0 rack: null) (org.apache.kafka.clients.NetworkClient)
java.net.UnknownHostException: bogon
想保证web应用本地启动成功,只需保证在/etc/hosts文件中存在如下host项:
127.0.0.1 localhost bogon