41

Kafka 监控工具之CMAK

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzI0OTYwNTQ4Ng%3D%3D&%3Bmid=2247484431&%3Bidx=1&%3Bsn=0504ed086c9c14e9bd57a370bac03024
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

AFfAraa.jpg!mobile

1. 概述

CMAK(Cluster Manager for Apache Kafka) 是由 Yahoo 开源的 Kafka 集群管理平台。我们可能听到更多的是 kafka-manager。主要是因为误用了 Apache 的商标,所以才从 kafka-manager 改名为 CMAK。

在 3.0.0.2 版本之前,kafka-manager 是不提供现成的编译包的,需要我们自己编译打包,老版本的安装可以参阅博文 Kafka 监控工具之Kafka Manager 。在 3.0.0.2 版本之后我们可以直接下载编译后的 zip 包:

zUrQzya.jpg!mobile

2. 下载

CMAK 环境要求:

  • Kafka 0.8+

  • Java 11+

  • Zookeeper 3.5+

官方文档中没有明确说明 ZooKeeper 的版本要求,但是在实际实践中小于3.5版本会抛出异常。如果你不想升级你的 ZooKeeper 版本,你可以使用 CMAK 的旧版本 Kafka-manager,比如1.3.3.23版本。

由于我机器上只安装了 JDK 8,所以需要再安装一个 JDK 11:

sudo tar -zxvf jdk-11.0.8_osx-x64_bin.tar.gz -C /opt/
ln -s jdk-11.0.8.jdk/ jdk-11

JDK11 只为CMAK使用,其他还是使用 JDK 8。

这里 CMAK 以 3.0.0.5 版本为例:

wget https://github.com/yahoo/CMAK/releases/download/3.0.0.5/cmak-3.0.0.5.zip

解压安装包:

unzip cmak-3.0.0.5.zip

创建软连接便于升级:

ln -s cmak-3.0.0.5/ cmak

3. 配置

修改 /etc/profile 配置环境变量,添加如下配置:

# kafka manager
export CMAK_HOME=/opt/cmak
export PATH=${CMAK_HOME}/bin:$PATH

运行命令 source /etc/profile 使环境变量生效。

按如下方式修改配置文件 application.conf,修改ZooKeeper服务器地址:

cmak.zkhosts="127.0.0.1:2181,127.0.0.1:2181:2182,127.0.0.1:2181:2183"

由于我们的ZooKeeper集群是伪分布式模式,通过不同的端口号来模拟不同的服务器。如果是正常集群模式应为 cmak.zkhosts=”host1:2181,host2:2181,host3:2181….”。

4. 启动

默认使用 9000 端口,如果端口占用,可以通过参数指定端口:

cmak -Dconfig.file=/opt/cmak/conf/application.conf -Dhttp.port=9000 -java-home /opt/jdk-11/Contents/Home

参数解释:

  • -Dconfig.file:指明 CMAK 配置文件路径

  • -Dhttp.port:Web监听端口,默认9000端口

  • -java-home:指定 JDK 路径,也可以不指定。这里由于需要用 JDK11,而我这台服务器上也安装了 JDK8,所以需要指定 JDK11 的路径。

启动 CMAK 服务后,通过 http://localhost:9000/ 地址进入 WEB UI 界面:

iq63QrF.jpg!mobile

可以通过 Add Cluster 菜单创建我们的 Kafka 集群:

aUz6F3I.jpg!mobile

注意的的是 Cluster Zookeeper Hosts 要配置 Kafka 在 ZooKeeper 中的 NameSpace,在这我们是 kafka ,具体取决于 Kafka 的配置:

zookeeper.connect=localhost:2181/kafka

看到如下页面表示我们已经创建好集群了:

yQniIb.jpg!mobile

如果你遇到报如下错误:

Yikes! KeeperErrorCode = Unimplemented for /kafka-manager/mutex Try again.

那么你需要升级 Zookeeper 到 3.5+ 版本。

创建成功后,你就可以看到你的 Kafka 信息:

fma6Vbb.jpg!mobile

参考:

  • CMAK

欢迎关注我的公众号和博客:

nAFZrmq.jpg!mobile


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK