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

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

bigegpt 2024-10-19 02:49 3 浏览

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测试服务器

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

#!/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

 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的综合信息及指标信息

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...