百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Kafka-manager部署与使用简单介绍

nanshan 2025-06-15 18:06 17 浏览 0 评论

Kafka Manager是 Yahoo 推出的 Kafka 开源管理工具,用于管理Apache Kafka集群的工具,用户可以在Web界面执行一些简单的Kafka集群管理操作

Kafka Manager支持以下内容:

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

Kafka Manager下载地址
https://github.com/yahoo/kafka-manager/releases

下载下来的是源码包,需要进行sbt编译,为了方便我这里直接下载编译好的kafka-manager-1.3.3.8.zip

下面搭建kafka测试环境,简单演示kafka manager部署与使用

1、kafka环境准备

可以使用如下脚本创建单节点的kafka测试服务器

脚本如下(脚本写得较简单,可以忽略脚本健壮性)

Bash
#!/bin/bash
setenforce=0
systemctl disable firewalld
systemctl stop firewalld
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
echo "-----------安装JDK----------------"
cd /opt
unzip jdk_zookeeper_kafka.zip
sleep 5
rpm -ivh jdk-8u251-linux-x64.rpm
echo "export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64" >> /etc/profile
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile
echo "export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar" >> /etc/profile
echo "-----------安装zookeeper----------------"
cd /opt
tar -zxf apache-zookeeper-3.6.0-bin.tar.gz
mv apache-zookeeper-3.6.0-bin zookeeper
cd zookeeper
mkdir data
cd conf
cp zoo_sample.cfg zoo.cfg

sed -i "s#dataDir=/tmp/zookeeper#dataDir=/opt/zookeeper/data#g" zoo.cfg
echo "server.1=127.0.0.1:2888:3888"
echo 1 > /opt/zookeeper/data/myid
echo "export PATH=\$PATH:/opt/zookeeper/bin" >> /etc/profile
echo "-----------安装kafka----------------"
cd /opt
tar -zxf kafka_2.13-2.5.0.tgz
mv kafka_2.13-2.5.0 kafka
cd kafka
mkdir data
cd config
cp server.properties server.properties_default
sed -i "s#log.dirs=/tmp/kafka-logs#log.dirs=/opt/kafka/data#g" server.properties
echo "listeners=PLAINTEXT://192.168.31.80:9092" >> server.properties

sed -i "s#/opt/zookeeper/bin#/opt/zookeeper/bin:/opt/kafka/bin#g" /etc/profile
source /etc/profile
echo $PATH
echo "已经完成安装 100%"
echo "-----------请按如下方法启动zookeeper+kafka----------------"
echo "1、先退出当前终端会话,重新连接"
echo "2、执行zkServer.sh start 启动zookeeper服务"
echo "3、执行kafka-server-start.sh -daemon /opt/kafka/config/server.properties启动kafka"
echo "4、执行tail -f /opt/kafka/logs/server.log查看kafka启动日志"

上传jdk_zookeeper_kafka.zip和 kafka_install.sh

Bash
 sh kafka_install.sh

2、修改kafka-server-start.sh,添加JMX启动参数

cd /opt
cd kafka/bin
vi kafka-server-start.sh

#在export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"这一行下方添加
#export JMX_PORT="9999"

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
fi

如下图所示

然后启动zookeeper和kafka

zkServer.sh start
kafka-server-start.sh -daemon /opt/kafka/config/server.properties

3、上传kafka-manager安装包并修改参数

unzip kafka-manager-1.3.3.23.zip
mv kafka-manager-1.3.3.23 kafka-manager
cd kafka-manager/conf
cp application.conf application.conf_default_bak


修改如下参数 vi application.conf

1)、将kafka-manager.zkhosts="
kafka-manager-zookeeper:2181"修改为当前的zookeeper地址与端口

2)、开启用户名密码验证


basicAuthentication.enabled=false改为
basicAuthentication.enabled=true

4、启动kafka-manager

cd /opt/kafka-manager/bin
 ./kafka-manager -Dconfig.file=/opt/kafka-manager/conf/application.conf -Dhttp.port=9000

5、添加集群,并查看集群的相关信息

kafka-topics.sh --create --zookeeper localhost:2181 --partitions 2 --replication-factor 1 --topic yuanfan_kafka_test
kafka-console-producer.sh --bootstrap-server 192.168.31.80:9092 --topic yuanfan_kafka_test
kafka-console-consumer.sh --bootstrap-server 192.168.31.80:9092 --topic yuanfan_kafka_test

1)可以创建主题,测试主题的自生产与自消费

2)用之前配置文件中账户密码登录kafka-manager

默认admin/password

3)登录后的界面

4)添加集群,修改连接集群的配置

5)查看topic的信息

6)Topic的综合信息及指标信息

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: