Centos7安装kafka-manager

旧巷老猫 提交于 2020-02-27 08:16:45

简介

kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。具体支持以下内容:

  • 管理多个集群
  • 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发)
  • 运行首选副本选举
  • 使用选项生成分区分配以选择要使用的代理
  • 运行分区重新分配(基于生成的分配)
  • 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置)
  • 删除主题(仅支持0.8.2+并记住在代理配置中设置delete.topic.enable = true)
  • 主题列表现在指示标记为删除的主题(仅支持0.8.2+)
  • 批量生成多个主题的分区分配,并可选择要使用的代理
  • 批量运行重新分配多个主题的分区
  • 将分区添加到现有主题
  • 更新现有主题的配置
  • 支持ldap用户认证

kafka-manager 项目地址:https://github.com/yahoo/kafka-manager

安装

当前版本已更新至3.0.0.1,本次安装最新版本。

下载安装包

下载方式:

编译

根据README提示,新版本编译依赖java-11,所以首先要准备java-11环境(直接到官网下载解压即可)。

使用sbt编译

进入源码目录进行编译。

/path/to/cmak/sbt -java-home /path/to/java-11 clean dist

-java-home:在系统环境java版本和当前需要java版本不一致时,使用该参数指定java家目录。

这是一个漫长的过程,耐心等待...

编译完成后会提示,编译好的文件保存到了:/path/to/cmak/target/universal/cmak-3.0.0.1.zip

在此提供编译好的cmak-3.0.0.1.zip 密码: pjxp

配置

将上述cmak-3.0.0.1.zip文件拷贝到/path/to/kafka-manager 目录下,解压。修改配置文件 conf/application.conf

kafka-manager.zkhosts="my.zookeeper.host.com:2181,other.zookeeper.host.com:2181"

cmak.zkhosts="my.zookeeper.host.com:2181,other.zookeeper.host.com:2181"

kafka-manager支持ldap认证,这里不做详述。

启动

默认使用9000端口,如果端口占用,可以指定端口。

bin/cmak -Dconfig.file=conf/application.conf -java-home /path/to/jdk-11 -Dhttp.port=9001

到浏览器访问 http://ip:9001 即可。

创建kafka集群

使用systemctl管理kafka-manager服务

创建文件 /usr/lib/systemd/system/kafka-manager.service

[Unit]
Description=kafka-manager server service
After=network.target

[Service]
WorkingDirectory=/path/to/kafka-manager/cmak-3.0.0.1
ExecStart=/path/to/kafka-manager/cmak-3.0.0.1/bin/cmak -Dconfig.file=/path/to/kafka-manager/cmak-3.0.0.1/conf/application.conf -java-home /path/to/jdk-11.0.6 -Dhttp.port=9001
Restart=on-failure
RestartSec=60
User=work
Group=work

[Install]
WantedBy=multi-user.target

完成上述配置后,执行 systemctl daemon-reload

启动、停止、重启

$ systemctl start kafka-manager
$ systemctl stop kafka-manager
$ systemctl restart kafka-manager

# 加入开机启动
$ systemctl enable kafka-manager

配置日志切割

/path/to/kafka-manager/cmak-3.0.0.1/logs/application.log {
    daily
    rotate 10
    dateext
    missingok
    notifempty
}

参考

Tips: 千万不要让开发搞运维工作... F*CK(蜜汁自信要不得)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!