kafka 监控工具--CMAK

文章讲述了CMAK(原Kafka-Manager)的安装过程,包括对JDK和Kafka版本的要求,以及遇到的兼容性问题和ZK目录缺失问题的解决方法。通过修改systemd配置和手动创建ZK目录,成功启动并管理ApacheKafka集群。
摘要由CSDN通过智能技术生成

CMAK (previously known as Kafka Manager) is a tool for managing Apache Kafka clusters. See below for details about the name change 摘自cmak gtihub

大意就是cmak 旧称为大家熟悉的kafka-manager,同样也是管理Apache Kafka集群的工具。为啥改名呢?主要是因为误用了 Apache 的商标,所以才从 kafka-manager 改名为 CMAK。安装方式大同小异,仅有几处需要注意的地方。话不多说,下面开干。

  1. 首先,我们从github下载安装包,最新版本是3.0.0.6,一般来说下载编译好的zip包就行,如果有特殊需求,可以自己下载源码编译安装

  1. 安装要求

cmak至少要jdk11+以上,本文使用的是jdk17.0.5版本

kafka至少是0.8版本以上,本文使用的是kafka-2.1.1

  1. 创建cmak用户,解压安装包,授权,修改配置文件

修改第28行的zk配置,上面的kafka-manager配置后面会废弃

  1. 启动服务

这边推荐用systemd来管理启动

vi /usr/lib/systemd/system/cmak.service

[Unit]

Description=Kafka Manager ( CMAK )

Requires=network.target

After=network.target

[Service]

Type=simple

User=cmak

Group=cmak

WorkingDirectory=/code/cmak

ExecStart=/code/cmak/bin/cmak -Dpidfile.path=/code/cmak/cmak.pid -Dhttp.port=8080

#这边-Dhttp.port指定服务端口是8080,默认端口是9000

ExecStop=kill $(cat /lingtian/code/cmak/cmak.pid)

Restart=always

[Install]

WantedBy=multi-user.target

systemctl daemon-reload && systemctl start cmak

  1. 启动后发现前端加载异常,服务有报错日志:

查找资料发现,是jdk17的兼容性问题,需要增加启动参数,修改systemd的配置如下:

ExecStart后面增加-J--add-opens=java.base/sun.net.www.protocol.file=ALL-UNNAMED -J--add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED

ExecStart=/code/cmak/bin/cmak -Dpidfile.path=/code/cmak/cmak.pid -Dhttp.port=8080 -J--add-opens=java.base/sun.net.www.protocol.file=ALL-UNNAMED -J--add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED

  1. 再次启动服务,进入页面正常。

  1. 添加集群,操作和kafka-manager一样:

但是,在保存的时候有报错:

提示/kafka-manager/mutex报错,查资料后发现,2种解决方案,有说zk版本过低需要升级,这个比较麻烦,就直接否决了。第二种是手动创建zk目录,包着试试看的态度,操作了一下:

ls /kafka-manager

create /kafka-manager/mutex ""

create /kafka-manager/mutex/locks ""

create /kafka-manager/mutex/leases ""

ls /kafka-manager

重新添加集群后,成功了!

总结下,这边遇到的就2个问题:

  1. 静态资源问题

! @807hb0egl - Internal server error, for (GET) [/assets/stylesheets/index.min.css] ->

play.api.UnexpectedException: Unexpected exception[RuntimeException: java.lang.IllegalAccessError: class p

lay.utils.Resources$ (in unnamed module @0x93c2679) cannot access class sun.net.www.protocol.file.FileURLC

onnection (in module java.base) because module java.base does not export sun.net.www.protocol.file to unna

med module @0x93c2679]

2.zk缺少目录的问题

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值